Javaでブールオブジェクトを文字列に変換する最良の方法 質問する

Javaでブールオブジェクトを文字列に変換する最良の方法 質問する

ブール型を文字列型に変換しようとしています...

Boolean b = true;
String str = String.valueOf(b);

または

Boolean b = true;
String str = Boolean.toString(b);

上記のどれがより効率的でしょうか?

ベストアンサー1

両者の間にパフォーマンスに大きな違いはないと思いますが、私は 1 番目の方法の方を好みます。

参照がある場合Boolean、参照が であればBoolean.toString(boolean)がスローされます。参照はメソッドに渡される前に にアンボックス化されるためです。NullPointerExceptionnullboolean

一方、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

プリミティブブールの場合、違いはありません。

おすすめ記事