Long.toString()とは何か
Javaで業務システムを開発していると、long型の数値を文字列へ変換したい場面が数多くあります。
例えば、
- 会員IDの表示
- 注文番号の出力
- 売上データのCSV出力
- ログ出力
- JSONデータ生成
- 外部システム連携
などです。
そのような場面で利用されるのが
Long.toString()
です。
Long.toString(long値)Javaこのメソッドはlong型の数値をString型へ変換します。
業務システムではIDや取引番号など、大きな整数を文字列として扱う機会が非常に多いため、実務でも頻繁に利用されるユーティリティです。
まずはlong型を理解しよう
Long.toString()を理解する前に、long型について知っておきましょう。
long型は大きな整数を扱うためのデータ型です。
// long型
long userId = 10000000000L;
Javaint型との違いは扱える数値の大きさです。
int型の範囲
-2147483648 ~ 2147483647
long型の範囲
-9223372036854775808
~
9223372036854775807
会員IDや注文番号などではlong型が利用されることが多くあります。
なぜ文字列へ変換する必要があるのか
数値と文字列は内部的に全く別のデータ型です。
// 数値
long orderId = 1234567890L;
// 文字列
String text = "1234567890";
Java注文番号を画面表示したり、CSVへ出力したり、ログへ出力したりする場合は文字列として扱う必要があります。
そのためLong.toString()が利用されます。
Long.toString()の基本構文
最もシンプルな例を見てみましょう。
// 注文番号
long orderId = 123456789L;
// Stringへ変換
String result =
Long.toString(orderId);
// 結果表示
System.out.println(result);
Java実行結果
123456789
long型がString型へ変換されました。
ステップバイステップで理解する
ステップ1:long型の値を準備する
// 会員ID
long memberId = 1000001L;
Java現在はlong型です。
ステップ2:Long.toString()を実行する
// Stringへ変換
String memberIdText =
Long.toString(memberId);
Javaステップ3:文字列として利用する
// 表示
System.out.println(memberIdText);
Java実行結果
1000001
見た目は同じですが、内部的にはString型になっています。
変換後は文字列として扱われる
初心者がよく勘違いするポイントです。
// long型
long value = 100L;
// String化
String text =
Long.toString(value);
// 文字列連結
System.out.println(text + 50);
Java実行結果
10050
これは数値計算ではありません。
文字列同士の連結です。
変換後は完全にString型になることを覚えておきましょう。
実務でよくある利用例
会員IDの表示
// 会員ID
long memberId = 123456789L;
// 表示用文字列
String displayText =
Long.toString(memberId);
// 画面表示
System.out.println(displayText);
Java注文番号のCSV出力
// 注文番号
long orderId = 50000000001L;
// CSV出力用
String csvValue =
Long.toString(orderId);
Javaログ出力
// 顧客ID
long customerId = 200000001L;
// ログ出力
log.info(
"customerId={}",
Long.toString(customerId)
);
Java実務では非常によく見かけるパターンです。
大きな数値でも問題なく変換できる
long型の特徴は大きな整数を扱えることです。
// 大きな値
long value =
9000000000000L;
// Stringへ変換
String result =
Long.toString(value);
System.out.println(result);
Java実行結果
9000000000000
大規模システムのID管理などではこのようなケースも珍しくありません。
マイナス値も変換できる
// 負の値
long value = -9999L;
// String化
String result =
Long.toString(value);
System.out.println(result);
Java実行結果
-9999
符号も含めて文字列化されます。
Long.toString()とString.valueOf()の違い
特に初心者が迷いやすいポイントです。
Long.toString()
// long専用
String text =
Long.toString(
100L
);
Javalong型専用です。
String.valueOf()
// 汎用変換
String text =
String.valueOf(
100L
);
Javaこちらは様々な型を変換できます。
String.valueOf(100);
String.valueOf(10.5);
String.valueOf(true);
String.valueOf(user);
Java実務ではString.valueOf()が使われることも多いですが、long型変換であることを明確にしたい場合はLong.toString()が分かりやすいです。
Long.toString()と連結演算子の違い
Javaでは次のような書き方も可能です。
// 暗黙変換
String text =
"" + 100L;
Java結果は同じです。
しかし、型変換の意図がコードから分かりにくくなります。
// 明示的変換
String text =
Long.toString(100L);
Javaこちらの方が可読性が高く、保守しやすいコードになります。
さらに深掘り:基数指定ができる
Long.toString()には高度な使い方があります。
第2引数で基数(進数)を指定できます。
2進数変換
// 15を2進数へ変換
String binary =
Long.toString(
15L,
2
);
System.out.println(binary);
Java実行結果
1111
16進数変換
// 255を16進数へ変換
String hex =
Long.toString(
255L,
16
);
System.out.println(hex);
Java実行結果
ff
通常の業務システムでは頻度は高くありませんが、システム開発やデバッグでは活用されることがあります。
初心者が間違えやすいポイント
nullは扱えない
Long.toString()はlong型向けのメソッドです。
// ラッパークラス
Long value = null;
// 危険
Long.toString(value);
JavaNullPointerExceptionが発生する可能性があります。
nullの可能性がある場合はString.valueOf()の利用も検討しましょう。
parseLong()とは逆変換である
重要なポイントです。
// String → long
Long.parseLong("100");
Javaに対して、
// long → String
Long.toString(100L);
Javaは逆方向の変換です。
実務では両方をセットで利用することがよくあります。
変換後は数値計算できない
変換後はString型です。
// String型
String value =
Long.toString(100L);
Java数値ではないため計算には利用できません。
実務で使えるテンプレート集
基本変換テンプレート
// long → String
String text =
Long.toString(value);
Javaログ出力テンプレート
// ログ出力
log.info(
Long.toString(userId)
);
JavaCSV出力テンプレート
// CSV出力
writer.write(
Long.toString(orderId)
);
Java画面表示テンプレート
// 表示用
String display =
"注文番号:"
+ Long.toString(orderId);
Java情報セキュリティの観点から見る重要性
Long.toString()自体にセキュリティ機能はありません。
しかし業務システムでは、顧客IDや注文番号など機密性の高い情報を文字列化してログへ出力するケースがあります。
その際には、
- 個人情報の出力制限
- ログのアクセス制御
- マスキング処理
- 監査ログ管理
などを考慮する必要があります。
データを文字列に変換できることと、安全に公開してよいことは別問題であることを理解しておきましょう。
初心者が覚えておくべき重要ポイント
- long型をString型へ変換するメソッドである
- 大きな整数にも対応している
- ログ出力やCSV出力でよく利用される
- Long.parseLong()とは逆方向の変換である
- 変換後は文字列になる
- 基数指定で2進数や16進数にも変換できる
- String.valueOf()との違いを理解することが重要である
まとめ
Long.toString()は、long型をString型へ変換するためのJava標準メソッドです。
- longからStringへ変換できる
- 非常に大きな整数にも対応している
- ログ出力やCSV出力で頻繁に利用される
- Long.parseLong()とは逆方向の変換である
- 基数指定による2進数・16進数変換も可能である
- 可読性の高いコードを書ける
- 実務開発で頻繁に登場する基本ユーティリティである
特に業務システムでは、注文番号や会員IDなどの大きな数値を文字列として扱う場面が数多くあります。Long.toString()を理解しておくことで、データ変換処理をシンプルかつ安全に実装できるようになり、Java開発の基礎力向上にもつながります。
