[解決済み] Javaで最初の非NULL値を取得する方法は?
2022-04-21 19:07:18
質問
SQLの
COALESCE
関数はありますか?つまり、複数の変数のうち、最初の非NULL値を返す方法はないでしょうか?
例
Double a = null;
Double b = 4.4;
Double c = null;
の最初の非NULL値を返すようなステートメントをどうにかして作りたい。
a
,
b
および
c
- この場合
b
または4.4です(sqlメソッドのようなもの - return
COALESCE(a,b,c)
). のようなもので明示的にできることは知っています。
return a != null ? a : (b != null ? b : c)
しかし、これを実現するためのビルトインで受け入れ可能な機能はないものだろうかと考えたのです。
どのように解決するのですか?
いいえ、ありません。
一番近いのは
public static <T> T coalesce(T ...items) {
for(T i : items) if(i != null) return i;
return null;
}
効率的な理由から、よくあるケースを次のように処理することができます。
public static <T> T coalesce(T a, T b) {
return a == null ? b : a;
}
public static <T> T coalesce(T a, T b, T c) {
return a != null ? a : (b != null ? b : c);
}
public static <T> T coalesce(T a, T b, T c, T d) {
return ...
}
関連
-
自動配線された依存性のインジェクションに失敗しました。
-
Javaエラーメッセージがenclosingクラスでない
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
ファインバグタイプ
-
jd-gui Java Exceptionが発生しました。
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
Java(1)仕上げの基本概念+eclipseのインストール構成
-
テストが見つかりませんでした
-
[解決済み】C#のNULL合体演算子(??)に相当するJavaはありますか?[重複している]。