Javaは、boolean
の値を可能にtrue
し、false
ブールができますがtrue
、false
とnull
。boolean
sをBoolean
s に変換し始めました。これは、次のようなテストでクラッシュを引き起こす可能性があります
Boolean set = null;
...
if (set) ...
テスト中
if (set != null && set) ...
不自然でエラーが発生しやすいようです。
Boolean
null値を持つs を使用すると便利な場合はいつですか?そうでない場合、ラップされたオブジェクトの主な利点は何ですか?
更新:非常に多くの貴重な回答がありましたが、自分の回答にいくつかまとめました。私はせいぜいJavaの中間者なので、役立つと思われるものを示すようにしました。質問は「誤った表現」です(ブール値は「null値を持つことはできません」)が、他の人が同じ誤解を持っている場合に備えて、私はそれを残しました。
null
実際に3番目の状態として使用されるかどうかのテストを期待します。
Boolean
はオブジェクトであり、a boolean
は「スカラー」です。Boolean
参照がnullに設定されている場合、対応するBoolean
オブジェクトが存在しないことを意味します。存在しないものの中に何かを置くことはできません。
Boolean
変数をnull
役立つように設定する必要があります。