[解決済み] 拡張forループでのNullチェック
2022-04-18 03:59:32
質問
Javaでforループでnullをガードするのに最適な方法は何ですか?
これは醜いようです。
if (someList != null) {
for (Object object : someList) {
// do whatever
}
}
または
if (someList == null) {
return; // Or throw ex
}
for (Object object : someList) {
// do whatever
}
他に方法がないのかもしれません。に入れるべきでした。
for
の構成自体が、もしそれがNULLならループを実行しない、ということなのでしょうか?
どのように解決するのですか?
そのリストをどこから入手したかを確認した方がよいでしょう。
空のリストは失敗しないので、空のリストがあればいいのです。
もし、このリストをどこかから入手して、それがOKかどうかわからない場合は、ユーティリティ・メソッドを作って、このように使うことができます。
for( Object o : safe( list ) ) {
// do whatever
}
そしてもちろん
safe
となる。
public static List safe( List other ) {
return other == null ? Collections.EMPTY_LIST : other;
}
関連
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
をインスタンス化することができません。
-
サーブレットクラスのインスタンス化エラーの解決法
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] instanceofを呼び出す前にnullチェックは必要ですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
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 Exceptionが発生しました エラー解決
-
java の例外が発生しました java
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
Spring boot runs with Error creating bean with name 'entityManagerFactory' defined in class path resource
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)