import java.util.Optional;
public class OptionalExample {
public static void main(String[] args) {
// Optionalの作成
Optional<String> optionalValue = Optional.of("Hello");
// isPresentメソッドによる存在確認
if (optionalValue.isPresent()) {
System.out.println("Optional value is present: " + optionalValue.get());
} else {
System.out.println("Optional value is empty.");
}
// ifPresentメソッドによる値の処理
optionalValue.ifPresent(value -> System.out.println("Value found: " + value));
// orElseメソッドによるデフォルト値の設定
String defaultValue = optionalValue.orElse("Default Value");
System.out.println("Value or default value: " + defaultValue);
// orElseGetメソッドによるデフォルト値の遅延生成
String lazyDefaultValue = optionalValue.orElseGet(() -> generateDefaultValue());
System.out.println("Value or lazy default value: " + lazyDefaultValue);
// orElseThrowメソッドによる例外のスロー
try {
String value = optionalValue.orElseThrow(() -> new IllegalArgumentException("Value not present"));
System.out.println("Value: " + value);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
private static String generateDefaultValue() {
return "Lazy Default Value";
}
}
このプログラムは、Optionalクラスの主要なメソッドを説明しています。Optionalは値の存在を表現するためのクラスであり、nullチェックを行わずに安全に値を扱うことができます。このプログラムでは、Optionalの作成方法、値の存在確認、値の処理、デフォルト値の設定など、さまざまなメソッドの使用例を示しています。
実行結果:
Optional value is present: Hello
Value found: Hello
Value or default value: Hello
Value or lazy default value: Hello
Value: Hello
以上が、JavaのOptionalクラスのメソッドを説明するプログラム例です。これにより、Optionalクラスの基本的な機能を理解し、使い方を学ぶことができます。