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 にまとめてあります