[解決済み] BooleanのNULL値はどのような場合に使用するのでしょうか?
2022-04-25 02:11:34
質問
ジャワ
boolean
の値を許可します。
true
と
false
を使用することができますが、ブーリアンでは
true
,
false
および
null
. の変換を開始しました。
boolean
を
Boolean
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()
.
関連
-
スレッド "main "での例外をEclipseで解決 java.lang.Error: 未解決のコンパイル問題、コンパイラとパッケージの不整合
-
[解決済み] argparseによるブーリアン値のパース
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] instanceofを呼び出す前にnullチェックは必要ですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] Pythonで文字列からbooleanに変換する?
-
[解決済み] C言語でのブーリアン値の使用
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.util.NoSuchElementException 原因解析と解決方法
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
Methodのinvokeメソッド実装のJavaリフレクション
-
xxx:jarのアーティファクトディスクリプタの読み込みに失敗した問題は解決しました。
-
自動配線された依存性のインジェクションに失敗しました。
-
spring aop アドバイスからの Null 戻り値が、サマリーのプリミティブ戻り値と一致しない。
-
java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl クラスを初期化できませんでした。