Java ではboolean
と の値が許されますtrue
が、false
ブール値ではtrue
、false
、 が許されます。を にnull
変換し始めました。これにより、次のようなテストでクラッシュが発生する可能性があります。boolean
Boolean
Boolean set = null;
...
if (set) ...
テスト中
if (set != null && set) ...
不自然でエラーが発生しやすいようです。
null 値を持つ を使用すると便利なのはどのような場合ですかBoolean
? 便利でない場合、ラップされたオブジェクトの主な利点は何ですか?
更新: 非常に多くの貴重な回答があったので、その一部を自分の回答にまとめました。私は Java の中級者レベルなので、役に立つと思われるものを紹介しようとしました。質問は「誤った表現」であることに注意してください (ブール値は「null 値を持つことはできません」)。ただし、他の人が同じ誤解をしている可能性があるため、そのまま残しました。
ベストアンサー1
できる限り、boolean
ではなくを使用してください。これにより、多くの が回避され、コードがより堅牢になります。Boolean
NullPointerException
Boolean
例えば、
- ブール値をコレクション(リスト、マップなど)に格納する
- NULL 許容ブール値を表します (たとえば、データベース内の NULL 許容ブール値の列から取得されます)。このコンテキストでは、NULL 値は「真か偽か分からない」という意味になる場合があります。
- メソッドが引数としてオブジェクトを必要とするたびに、ブール値を渡す必要があります。たとえば、リフレクションや のようなメソッドを使用する場合などです
MessageFormat.format()
。