【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を避けるための手段の一部として使用することが重要です

ぜひ活用してみてください!!

ではっ

是非フォローしてください

最新の情報をお伝えします