[解決済み] Java - Null/Emptyでないことを確認し、デフォルト値を割り当てる
2023-07-05 15:51:40
質問
以下のコードを単純化しようとしています。
このコードが実行すべき基本的な手順は以下の通りです。
- 文字列にデフォルト値を割り当てる
- メソッドを実行する
- メソッドが null/empty 文字列を返す場合、文字列をデフォルトとして残します。
- メソッドが有効な文字列を返した場合、この結果に文字列を設定します。
簡単な例では、次のようになります。
String temp = System.getProperty("XYZ");
String result = "default";
if(temp != null && !temp.isEmpty()){
result = temp;
}
三項演算子を使って、もう一つ作ってみました。
String temp;
String result = isNotNullOrEmpty(temp = System.getProperty("XYZ")) ? temp : "default";
isNotNullOrEmpty() メソッド
private static boolean isNotNullOrEmpty(String str){
return (str != null && !str.isEmpty());
}
これをすべてインラインで行うことは可能なのでしょうか?このようなことができるのは知っています。
String result = isNotNullOrEmpty(System.getProperty("XYZ")) ? System.getProperty("XYZ") : "default";
しかし、私は同じメソッドを2回呼び出しています。私はこのようなことをするようなものです(これはうまくいきません)。
String result = isNotNullOrEmpty(String temp = System.getProperty("XYZ")) ? temp : "default";
同じ行の中で'temp'Stringを初期化したいのですが、可能でしょうか?これは可能ですか?または、どうすればよいのでしょうか?
ご指摘ありがとうございます。
ティム
どのように解決するのですか?
私は質問が本当に古いことを知っているが、ジェネリックスを使用すると、すべての型のために動作する、より一般化されたメソッドを追加することができます。
public static <T> T getValueOrDefault(T value, T defaultValue) {
return value == null ? defaultValue : value;
}
関連
-
プロジェクトの依存関係を解決できない。
-
Javaがエラーで実行される、選択が起動できない、最近起動したものがない
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] instanceofを呼び出す前にnullチェックは必要ですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] なぜJava 8のOptionalは引数で使ってはいけないのか
-
[解決済み] 文字列がヌルでなく、空でないかをチェックする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
強制型変換について
-
無効な文字定数
-
無効なメソッド宣言
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集