Java Tips | 基本ユーティリティ:Long.toString()

Web APP Java
スポンサーリンク
スポンサーリンク

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;
Java

int型との違いは扱える数値の大きさです。

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
        );
Java

long型専用です。

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);
Java

NullPointerExceptionが発生する可能性があります。

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)
);
Java

CSV出力テンプレート

// 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開発の基礎力向上にもつながります。

タイトルとURLをコピーしました