【Java】optional変数でよく使う制御をご紹介!nullを対処せよ!
JavaのOptional
は、null
を扱うための便利なクラスであり、NullPointerExceptionを避けるために使用されます
以下は、Optional
を使用する際によく使われる制御フローの例です
Optionalの作成
// 値が存在する場合
Optional<String> optionalValue = Optional.of("Hello");
// 値がnullの可能性がある場合
Optional<String> nullableValue = Optional.ofNullable(getValue());
// 値が存在しない場合
Optional<String> emptyValue = Optional.empty();
値の取得
// 値が存在する場合
String result = optionalValue.get();
// 値が存在しない場合のデフォルト値を指定
String resultOrDefault = optionalValue.orElse("Default Value");
// 値が存在しない場合、指定した関数により生成
String resultOrGenerate = optionalValue.orElseGet(() -> generateDefaultValue());
// 値が存在しない場合、例外をスロー
String resultOrThrow = optionalValue.orElseThrow(() -> new NoSuchElementException("No value present"));
条件に基づく処理
// 値が存在する場合に特定の処理を実行
optionalValue.ifPresent(value -> System.out.println("Value is present: " + value));
マッピング
// 値が存在する場合に変換して新しいOptionalを返す
Optional<Integer> length = optionalValue.map(String::length);
フィルタリング
// 条件を満たす場合にのみ値を取得
Optional<String> filteredValue = optionalValue.filter(val -> val.length() > 5);
チェーン
// チェーンして複数の処理を組み合わせる
Optional<String> result = optionalValue
.map(String::toUpperCase)
.filter(val -> val.length() > 5);
これらの例は、Optional
を使用して値が存在するかどうかを確認し、存在する場合はそれを取得する方法を示しています
Optional
はコードをより安全かつ明確にするために役立ちますが、過度な使用は避け、null
を避けるための手段の一部として使用することが重要です
ぜひ活用してみてください!!
ではっ
是非フォローしてください
最新の情報をお伝えします