Javaでプログラムの実装をしていると数値(int)と文字列(String)の変換をする機会は頻繁に出てきます。
本記事ではJava初心者の方でも理解していただけるように、なるべく分かりやすくサンプルコードを交えながら数値(int)と文字列(String)の変換方法をご紹介していきたいと思います。
目次
Javaで数値(int)から文字列(String)へ変換する方法とは
Javaで数値(int)から文字列(String)へ変換する方法はStringクラスの「valueOf」メソッドを利用します。
また、数値が「Integer」や「Byte」「Long」などの型の場合、「toString」メソッドを利用して文字列変換を行うことも可能です。
valueOfメソッドとは
valueOfメソッドは、intに限らず様々なデータ型をString型に変換する際に利用されるメソッドです。
基本的な記述方法は下記の通りとなります。
String sample = String.valueOf(int);
「int」で指定した値をString型に変換し、「sample」変数に格納します。
toStringメソッドとは
toStringメソッドはIntegerクラスやByteクラスなどから提供されているメソッドです。
基本的な記述方法は下記の通りとなります。
String sample = Integer.toString(int);
使い方はvalueOfメソッドとほとんど同じで、「int」に指定した値をString型に変換し、「sample」変数に格納しています。
注意してもらいたいポイントとしては、toStringメソッドを利用する場合「null」チェックを行わないとシステムエラーとなってしまいます。
JavaでintからStringへの変換方法をサンプルコードで確認しよう!
では実際にJavaで動くサンプルコードをご紹介しながら、より具体的にintからStringへの変換方法を理解して頂きたいと思います。
valueOfメソッドを利用したサンプルコード
valueOfメソッドを利用してintからStringへ変換する方法が下記のサンプルとなります。
import java.util.*; public class Main { public static void main(String[] args) throws Exception { int intSample = 1; Integer intSample2 = null; ※ short shortSample = 2; byte byteSample = 3; String intString = String.valueOf(intSample); String intNull = String.valueOf(intSample2); ※ String shortString = String.valueOf(shortSample); String byteString = String.valueOf(byteSample); System.out.println("int型を変換 = " + intString); System.out.println("nullを変換 = " + intNull); ※ System.out.println("short型を変換 = " + shortString); System.out.println("byte型を変換 = " + byteString); } }
上記のサンプルコードを実行した結果が下記の通りとなります。
int型を変換 = 1 nullを変換 = null short型を変換 = 2 byte型を変換 = 3
上記サンプルコードのように、「valueOf」メソッドではint以外のデータ型に関しても文字列に変換することが可能となります。
また、「※」で記した行のコードではInteger型に「null」の値を設定し、文字列型に変換していますが、システムエラーとならず「null」が出力されているのがご確認頂けます。
toStringメソッドを利用したサンプルコード
次にtoStringメソッドを利用したサンプルコードをご紹介します。
import java.util.*; public class Main { public static void main(String[] args) throws Exception { int intSample = 1; String intString = Integer.toString(intSample); System.out.println("int型をtoStringメソッドで変換 = " + intString); } }
上記のサンプルコードを実行した結果が下記の通りとなります。
int型をtoStringメソッドで変換 = 1
Nullを引数として設定した場合のサンプルコードも合わせてご紹介しておきます。
import java.util.*; public class Main { public static void main(String[] args) throws Exception { Integer intSample = null; String intString = Integer.toString(intSample); System.out.println("nullをtoStringメソッドで変換 = " + intString); } }
上記サンプルコードをコンパイルすると下記の通り、システムエラーとなり実行出来ません。
java.lang.NullPointerException
Javaで文字列(String)から数値(int)へ変換する方法とは
上記とは逆に文字列(String)から数値(int)へ変換する方法ですが、Integerクラスの「parseInt」メソッドを利用することでint型への変換が可能です。
また、上述したvalueOfメソッドでもStringからintへの変換が可能となっています。
parseIntメソッドとは
Integerクラスより提供されているparseIntメソッドは引数に指定された文字列を数値(int型)として返却します。
基本的な記述方法は下記の通りとなります。
int sample = Integer.parseInt(string);
「string」で指定した文字列をint型に変換し、「sample」変数に格納します。
JavaでStringからintへの変換方法をサンプルコードで確認しよう!
Stringからintへの変換方法についても サンプルコードで具体的に確認して頂きたいと思います。
import java.util.*; public class Main { public static void main(String[] args) throws Exception { String strSample = "12345"; int strInt = Integer.parseInt(strSample); System.out.println("文字列をparseIntメソッドで変換 = " + strInt); } }
上記のサンプルコードを実行した結果が下記の通りとなります。
文字列をparseIntメソッドで変換 = 12345
注意して頂きたいのが、nullを引数に指定した場合にはコンパイルエラーとなってしまいますので事前にnullチェックが必要となります。
下記は引数に「null」を指定した場合のサンプルコードとなります。
import java.util.*; public class Main { public static void main(String[] args) throws Exception { String strSample = null; int strInt = Integer.parseInt(strSample); System.out.println("nullをparseIntメソッドで変換 = " + strInt); } }
上記を実行しようとするとコンパイルエラーとなり、下記のエラーが出力されます。
java.lang.NumberFormatException
また、引数に数値へ変換出来ない文字列を指定した場合にも同様のエラーが起こるので注意しておきましょう。
import java.util.*; public class Main { public static void main(String[] args) throws Exception { String strSample = "文字列"; int strInt = Integer.parseInt(strSample); System.out.println("数値に変換出来ない文字列をparseIntメソッドで変換 = " + strInt); } }
上記を実行しようとするとコンパイルエラーとなり、下記のエラーが出力されます。
java.lang.NumberFormatException
さいごに:JavaでのintとStringへの変換は基本的にvalueOfメソッドを利用
本記事では、数値(int)と文字列(String)の変換方法についてご紹介してきました。
今回ご紹介したようにintとStringの変換方法としては様々な方法がありますが、基本的に「valueOf」メソッドを利用した変換が一般的となっています。
Javaにおいて、intとStringの変換は頻出処理の1つでもありますのでしっかりと確認して、実際のプログラムで利用してみてください。
valueOfメソッドではnullを引数として設定しても処理が継続されますが、toStringメソッドの場合には事前にnullチェックを行う必要がある点は意識しておきましょう。