Contents
【Java】Optionalの使い方について

この記事ではJavaのOptionalの使い方について解説します。
Optionalクラスは存在するかどうかわからない値を表現するもの。
Optionalのインポート文
// Optionalクラスのインポート文 import java.util.Optional;
Optionalクラスを利用するためには「import java.util.Optional」をインポートする必要があります。
Optionalの変数および初期化
Optionalの変数宣言および初期化は次のように記載します。
Optional<String> opt = null; System.out.println(opt); // 実行結果 null
of:引数の値を持たせる、nullの場合、例外
ofを使用すると、引数の値を保持できます。nullの場合はエラーとなります。
●値あり または カラの場合
// 値あり または カラの場合
Optional<String> opt = Optional.of("123");
Optional<String> opt2 = Optional.of("");
System.out.println(opt);
System.out.println(opt2);
// 実行結果
Optional[123]
Optional[]
●nullの場合
Optional<String> opt3 = Optional.of(null); System.out.println(opt3); // 実行結果 Exception in thread "main" java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:221) at java.base/java.util.Optional.<init>(Optional.java:107) at java.base/java.util.Optional.of(Optional.java:120)
empty:カラの値をもたせる
emptyを使用すると、カラの値を持たせます。
String str = null; System.out.println(str); // 実行結果 Optional.empty
ofNullable:nullの場合はカラの値を持たせる
emptyを使用すると、カラの値を持たせます。
Optional<String> opt = Optional.ofNullable("123");
Optional<String> opt2 = Optional.ofNullable("");
Optional<String> opt3 = Optional.ofNullable(null);
System.out.println(opt);
System.out.println(opt2);
System.out.println(opt3);
// 実行結果
Optional[123]
Optional[]
Optional.empty
get:値を取得する
getを使用すると、値を取得することができます。
Optional<String> opt = Optional.ofNullable("123");
String str = opt.get();
System.out.println(str);
// 実行結果
123
Optional<String> opt2 = Optional.ofNullable("");
String str = opt2.get();
System.out.println(str);
// 実行結果 ※カラ値返却
値が存在しない場合(Optional.empty)、エラーとなります。
Optional<String> opt = Optional.empty(); String str = opt.get(); System.out.println(str); // 実行結果 Exception in thread "main" java.util.NoSuchElementException: No value present
orElse:値が存在しない場合、特定値を返却
orElseを使用すると、値が存在しない場合、特定値を返却します。
Optional<String> opt = Optional.ofNullable("123");
Optional<String> opt2 = Optional.ofNullable("");
Optional<String> opt3 = Optional.ofNullable(null);
String str = opt.orElse("カラ");
String str2 = opt2.orElse("カラ");
String str3 = opt3.orElse("カラ");
System.out.println(str);
System.out.println(str2);
System.out.println(str3);
// 実行結果
123
カラ

Javaの記事の一覧はJava にまとめてあります
