ブール型を文字列型に変換しようとしています...
Boolean b = true;
String str = String.valueOf(b);
または
Boolean b = true;
String str = Boolean.toString(b);
上記のどれがより効率的でしょうか?
ベストアンサー1
両者の間にパフォーマンスに大きな違いはないと思いますが、私は 1 番目の方法の方を好みます。
参照がある場合Boolean
、参照が であればBoolean.toString(boolean)
がスローされます。参照はメソッドに渡される前に にアンボックス化されるためです。NullPointerException
null
boolean
一方、String.valueOf()
ソース コードに示されているメソッドは明示的なnull
チェックを実行します。
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
次のコードをテストしてください:
Boolean b = null;
System.out.println(String.valueOf(b)); // Prints null
System.out.println(Boolean.toString(b)); // Throws NPE
プリミティブブールの場合、違いはありません。