ブール値の null 値はいつ使用すべきですか? 質問する

ブール値の null 値はいつ使用すべきですか? 質問する

Java ではbooleanと の値が許されますtrueが、falseブール値ではtruefalse、 が許されます。を にnull変換し始めました。これにより、次のようなテストでクラッシュが発生する可能性があります。booleanBoolean

Boolean set = null;
...
if (set) ...

テスト中

if (set != null && set) ...

不自然でエラーが発生しやすいようです。

null 値を持つ を使用すると便利なのはどのような場合ですかBoolean? 便利でない場合、ラップされたオブジェクトの主な利点は何ですか?

更新: 非常に多くの貴重な回答があったので、その一部を自分の回答にまとめました。私は Java の中級者レベルなので、役に立つと思われるものを紹介しようとしました。質問は「誤った表現」であることに注意してください (ブール値は「null 値を持つことはできません」)。ただし、他の人が同じ誤解をしている可能性があるため、そのまま残しました。

ベストアンサー1

できる限り、booleanではなくを使用してください。これにより、多くの が回避され、コードがより堅牢になります。BooleanNullPointerException

Boolean例えば、

  • ブール値をコレクション(リスト、マップなど)に格納する
  • NULL 許容ブール値を表します (たとえば、データベース内の NULL 許容ブール値の列から取得されます)。このコンテキストでは、NULL 値は「真か偽か分からない」という意味になる場合があります。
  • メソッドが引数としてオブジェクトを必要とするたびに、ブール値を渡す必要があります。たとえば、リフレクションや のようなメソッドを使用する場合などですMessageFormat.format()

おすすめ記事