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

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP