プログラミング勉強日記
2020年11月29日
前にtoString()メソッドの使い方について扱ったが、今回valueO()メソッドでもString型に変換することができることを知った。それを踏まえてJavaでString型に変換するために使われる2種類のメソッドの違いとそれぞれの使い方についてまとめる。
valueOfメソッドとは
引数に指定した様々な型の形をString型の文字列として返すことができる。
String.valueOf(変換する値);
valueOfメソッドのサンプルコード
short型、int型、long型、float型、double型をそれぞれvalueOfメソッドを使用してString型に変換する。
public class Main {
public static void main(String[] args) throws Exception {
// short型からString型に変換する
short sh = 100;
String strsh = String.valueOf(sh);
System.out.println("short型からString型 : " + strsh);
// int型からString型に変換する
int num = 100;
String strnum = String.valueOf(num);
System.out.println("int型からString型 : " + strnum);
// long型からString型に変換する
long lon = 100;
String strlon = String.valueOf(lon);
System.out.println("long型からString型 : " + strlon);
// float型からString型に変換する
float fl = 100;
String strfl = String.valueOf(fl);
System.out.println("float型からString型 : " + strfl);
// double型からString型に変換する
double db = 100;
String strdb = String.valueOf(db);
System.out.println("double型からString型 : " + strdb);
}
}
short型からString型 : 100
int型からString型 : 100
long型からString型 : 100
float型からString型 : 100.0
double型からString型 : 100.0
toStringメソッドとは
数値型などをString型に変換するために使う。引数にString型の文字列に変換したい引数を指定し、戻り値はString型の文字列を返す。
toStringメソッドのサンプルコード
public class Main {
pubic static void main(String[] args) {
int num1 = 1234;
int num2 = 5678;
System.out.println(num1 + num2);
// 数値を文字列に変換する
String str1 = Integer.toString(num1);
String str2 = Integer.toString(num2);
System.out.println(str1 + str2);
}
}
6912
12345678
valueOfメソッドとtoStringメソッドの違い
基本的にはメソッドの目的は同じであるが、変換する対象の値がnullの場合の動作が異なる。
Integer型の値にnullを設定してString型に変換する場合、valueOfメソッドの場合はString型のnullを返すが、toStringメソッドの場合はnull参照時の例外が発生する。なので、toStringメソッドを使用する場合は変換する値がnullでどうか確かめる必要がある。
参考文献
【Java入門】数値を文字列へ変換する方法(valueOf/toString)
【Java】toString()メソッドの使い方