1. ホーム
  2. java

[解決済み] BooleanのNULL値はどのような場合に使用するのでしょうか?

2022-04-25 02:11:34

質問

ジャワ boolean の値を許可します。 truefalse を使用することができますが、ブーリアンでは true , false および null . の変換を開始しました。 booleanBoolean s. これは、以下のようなテストでクラッシュを引き起こす可能性があります。

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

テスト中

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

は作為的でエラーが発生しやすいと思われます。

を使用することが有用であるとすれば、どのような場合でしょうか。 Boolean をNULL値で使用することはできますか?決してそうでない場合、ラップされたオブジェクトの主な利点は何でしょうか?

UPDATE たくさんの貴重な回答がありましたので、その一部を私自身の回答にまとめました。私はせいぜいJavaの中級者なので、私が有用だと思うことを示すようにしました。質問は間違った言い回しですが(Boolean cannot "have a null value")、他の人が同じ誤解をしている場合に備えて残しておきました。

解決方法は?

使用方法 boolean よりも Boolean を、可能な限り毎回使用します。そうすることで、多くの NullPointerException を使用することで、コードをより堅牢にすることができます。

Boolean は便利です、例えば

  • コレクション(リスト、マップなど)にブーリアン値を格納する場合
  • NULL可能なブーリアン(例えばデータベースのNULL可能なブーリアンカラムから来る)を表現するために使用します。null値は、この文脈では「真か偽かわからない」という意味かもしれない。
  • メソッドが引数としてオブジェクトを必要とし、ブーリアン値を渡す必要がある場合、その都度。例えば、リフレクションや以下のようなメソッドを使用する場合です。 MessageFormat.format() .