Integer.toString()とは何か
Javaで業務システムを開発していると、数値を文字列へ変換したい場面が頻繁にあります。
例えば、
- ログ出力
- CSV出力
- 画面表示
- JSON生成
- SQLパラメータ生成
- 外部システムとのデータ連携
などです。
そのような場面で利用されるのが
Integer.toString()
です。
Integer.toString(int値)Javaこのメソッドはint型の数値をString型へ変換します。
Java開発では非常に利用頻度が高く、データ変換の基本として覚えておくべきメソッドのひとつです。
なぜ文字列へ変換する必要があるのか
まずは「なぜ変換が必要なのか」を理解しましょう。
Javaでは数値型と文字列型は別物です。
// 数値型
int age = 20;
// 文字列型
String text = "20";
Java見た目は同じですが、コンピューター内部では異なるデータ型として扱われています。
例えば画面に表示したり、CSVファイルへ出力したりするときは、文字列として扱う必要があります。
そのためInteger.toString()による変換が必要になるのです。
Integer.toString()の基本構文
最も基本的な使い方から見てみましょう。
// 数値
int score = 100;
// Stringへ変換
String result =
Integer.toString(score);
// 出力
System.out.println(result);
Java実行結果
100
int型の100がString型の”100″へ変換されました。
ステップバイステップで理解する
ステップ1:int型の値を用意する
// 年齢
int age = 30;
Java現在は数値型です。
ステップ2:Integer.toString()で変換する
// Stringへ変換
String ageText =
Integer.toString(age);
Javaステップ3:文字列として利用する
// 表示
System.out.println(ageText);
Java実行結果
30
見た目は同じでも内部的にはString型になっています。
変換後は文字列として扱われる
初心者が間違えやすいポイントです。
// int型
int value = 100;
// String型へ変換
String text =
Integer.toString(value);
// 文字列連結
System.out.println(text + 50);
Java実行結果
10050
数値計算ではありません。
文字列同士の連結になります。
そのため、
100 + 50 = 150
とは異なる結果になります。
Integer.toString()の内部動作を理解しよう
Integer.toString()は整数値を文字列へ変換します。
// 数値
123
Javaを、
// 文字列
"123"
Javaへ変換しているイメージです。
Java標準ライブラリ内部で効率的に処理されるため、性能面でも安心して利用できます。
負の数も変換できる
正の整数だけでなく負の数にも対応しています。
// 負の数
int value = -50;
// String化
String result =
Integer.toString(value);
System.out.println(result);
Java実行結果
-50
符号も含めて文字列化されます。
ゼロも正常に変換できる
// ゼロ
int value = 0;
// String化
String result =
Integer.toString(value);
System.out.println(result);
Java実行結果
0
ゼロも問題なく変換できます。
実務でよくある利用例
ログ出力
// 会員ID
int memberId = 1001;
// ログ出力
System.out.println(
"会員ID="
+ Integer.toString(memberId)
);
Javaログでは数値を文字列へ変換する機会が多くあります。
CSV出力
// 年齢
int age = 25;
// CSV用文字列
String csvValue =
Integer.toString(age);
JavaCSVファイルは文字列形式で出力されるため変換が必要です。
JSON生成
// 商品数
int quantity = 10;
// JSON用
String json =
"{ \"quantity\": \""
+ Integer.toString(quantity)
+ "\" }";
JavaAPI開発でも利用されます。
画面表示
// ポイント
int point = 500;
// 表示文字列
String displayText =
Integer.toString(point)
+ "ポイント";
Java画面表示データ作成で非常によく利用されます。
Integer.toString()とString.valueOf()の違い
初心者が最も混同しやすいポイントです。
Integer.toString()
// int専用
String text =
Integer.toString(100);
Javaint型専用です。
String.valueOf()
// 様々な型に対応
String text =
String.valueOf(100);
Javaint以外にも対応できます。
// double
String.valueOf(10.5);
// boolean
String.valueOf(true);
// Object
String.valueOf(user);
Java実務ではString.valueOf()の方が利用頻度は高めです。
Integer.toString()と連結演算子の違い
Javaでは次のような書き方もできます。
// 暗黙変換
String text =
"" + 100;
Java結果は同じです。
しかし実務では明示的な変換の方が分かりやすい場合があります。
// 意図が明確
String text =
Integer.toString(100);
Java可読性を重視する場面ではこちらが好まれることがあります。
さらに深掘り:基数を指定できる
Integer.toString()には少し高度な使い方があります。
// 10進数の15
int value = 15;
// 2進数に変換
String binary =
Integer.toString(
value,
2
);
System.out.println(binary);
Java実行結果
1111
第2引数で基数(進数)を指定できます。
16進数変換
// 16進数へ変換
String hex =
Integer.toString(
255,
16
);
System.out.println(hex);
Java実行結果
ff
システム開発やデバッグで利用されることがあります。
初心者が間違えやすいポイント
nullは扱えない
Integer.toString()はint型専用です。
// NG
Integer value = null;
Integer.toString(value);
JavaNullPointerExceptionが発生する可能性があります。
nullの可能性がある場合は、
String.valueOf()Javaの方が安全です。
変換後は数値ではない
変換後は完全にString型です。
// String
String text =
Integer.toString(100);
Java数値計算には利用できません。
parseInt()と逆の関係である
非常に重要なポイントです。
// String → int
Integer.parseInt("100");
Javaに対して、
// int → String
Integer.toString(100);
Javaは逆方向の変換になります。
実務で使えるテンプレート集
基本変換テンプレート
// int → String
String text =
Integer.toString(value);
Javaログ出力テンプレート
// ログ出力
log.info(
Integer.toString(userId)
);
JavaCSV出力テンプレート
// CSV出力
writer.write(
Integer.toString(age)
);
Java表示文字列生成テンプレート
// 表示用
String display =
Integer.toString(point)
+ "pt";
Java情報セキュリティの観点から見る重要性
Integer.toString()自体にセキュリティ機能はありません。
しかし業務システムでは、数値データをログへ出力したり、監査ログへ記録したりする場面で利用されます。
その際は、
- 会員番号
- 社員番号
- 取引番号
- 顧客識別子
などの機密性を考慮する必要があります。
文字列化できることと、出力してよいことは別問題です。
特に個人情報や認証関連情報は適切なマスキングやアクセス制御を検討しましょう。
初心者が覚えておくべき重要ポイント
- int型をString型へ変換する
- ログやCSV出力で頻繁に利用される
- 負の数やゼロも変換できる
- parseInt()とは逆方向の変換である
- String.valueOf()との違いを理解する
- 変換後は数値ではなく文字列になる
- 基数指定による2進数・16進数変換も可能である
まとめ
Integer.toString()は、int型をString型へ変換するためのJava標準メソッドです。
- intからStringへ変換できる
- ログ出力やCSV出力で頻繁に利用される
- 負の数やゼロにも対応している
- Integer.parseInt()とは逆方向の変換である
- 基数指定による2進数・16進数変換も可能である
- 可読性の高いコードを記述できる
- Java開発で必ず覚えておきたい基本ユーティリティである
特に業務システムでは、数値データを文字列として出力・連携する機会が非常に多くあります。Integer.toString()を正しく理解することで、データ変換処理を安全かつ分かりやすく実装できるようになります。また、Integer.parseInt()とセットで理解しておくことで、数値と文字列の相互変換を自在に扱えるようになります。
