Javaで数値を文字列に変換する4つの方法!

Java Java

Javaで数値を文字列に変換する方法について書いています。
数値から文字列に変換するには、下記のメソッドや演算子を使うことができます。

・IntegerオブジェクトからtoStringメソッドを使う。
・+演算子で文字列と結合する。
・StringクラスのvalueOfメソッドを使う。
・Stringクラスのformatメソッドを使う。

Integer.toStringメソッドで変換する

IntegerクラスからtoStringメソッドを呼び出すことで、文字列に変換することができます。
例えば、下記のように使います。

Integer number = 10;
String numberText = number.toString();

System.out.println(numberText + "です。"); // 10です。
System.out.println(numberText instanceof String); // true

最初にnumber変数(Integerオブジェクト)に対して、10を代入しています。

その次の処理で、number変数からtoStringメソッドを呼び出しています。
これで文字列に変換された値が返ってきます。

最後に返ってきた値の出力と、instanceofで文字列型(String)になっているか確認しています。
プログラムを実行すると、下記のようになりました。

10です。
true

文字列に変換されたことが確認できました。

intからは呼び出せない

ちなみに、プリミティブ型のintからは呼び出すことができません
オブジェクトではないため、下記のようにintの変数から、toStringを使おうとするとエラーになります。

int number = 10;
String numberText = number.toString(); // エラー

+演算子で変換する

+演算子を使って、文字列と結合することでも変換することができます。
例えば、下記のように使います。

Integer number = 100;
String numberText = number + "";

System.out.println(numberText);
System.out.println(numberText instanceof String);

最初にnumber変数(Integerオブジェクト)に対して、100を代入しています。

次の処理で、number変数を+演算子で空文字と文字列結合しています。
これで文字列に変換されます。

プログラムを実行すると、下記のようになりました。

100
true

intも変換可能

プリミティブ型のintも変換することが可能です。
同じように処理してみます。

int number = 200;
String numberText = number + "";

System.out.println(numberText);
System.out.println(numberText instanceof String);

最初にnumber変数(int)に対して、200を代入しました。

次の処理で、先ほどと同じようにnumber変数を+演算子で空文字と文字列結合しています。
プログラムを実行すると、下記のようになりました。

200
true

このように文字列に変換されたことが確認できました。

String.valueOfメソッドで変換する

StringクラスのvalueOfメソッドを使うことでも変換することができます。
例えば、下記のように使います。

String numberText = String.valueOf(77);

System.out.println(numberText);
System.out.println(numberText instanceof String);

最初にStringクラスのvalueOfメソッドに対して、数値の「77」を渡しました。
これで文字列に変換されて、文字列が返ってくるので、返り値をnumberText変数で受け取っています。

プログラムを実行すると、下記のように、文字列変換されたことが確認できました。

77
true

String.formatメソッドで変換する

Stringクラスからformatメソッドを使うことでも変換することができます。
このメソッドは書式文字列を使って、任意のフォーマットの文字列に変換するメソッドです。

String numberText = String.format("%d",88);

System.out.println(numberText);
System.out.println(numberText instanceof String);

最初にStringクラスのformatメソッドに、書式文字列と数値を渡しています。
第1引数の書式文字列に対して、第2引数から後に渡したオブジェクトを当てはめて、文字列にしてくれます。

今回は「%d」としているので、数値をその位置に当てはめて文字列にしています。
プログラムを実行すると、下記のようになりました。

88
true

文字列に変換できました。

Javaで数値を文字列に変換する方法まとめ

今回はJavaで数値を文字列に変換する方法を書きました。
記事の内容をまとめると、下記のようになります。

メソッド/演算子 説明
Integer.toString() Integerオブジェクトの数値から変換することができる number.toString()
+演算子 Integerとintを文字列に変換することができる number + “”
String.valueOf() StringクラスのvalueOfメソッドに数値を渡すと文字列に変換できる String.valueOf(77)
String.format() Stringクラスのformatメソッドに数値を渡すと、書式文字列を使って文字列に変換できる String.format(“%d”,88)

コメント

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