1. ホーム
  2. java

[解決済み] javaでBooleanオブジェクトを文字列に変換するための最良の方法

2022-05-16 07:44:41

質問

booleanをstring型に変換しようとしています。

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

または

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

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

どのように解決するのですか?

両者の間に大きな性能差はないと思いますが、私は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


プリミティブなブーリアンであれば、違いはありません。