【Java】Optionalのget使い方について(値が存在しない場合は例外)

【Java】Optionalのget使い方について(値が存在しない場合は例外)

管理人
この記事ではJavaのOptionalのgetについて解説します。

Optionalのgetメソッドで値を取得

 Optionalのgetメソッドで値を取得することができます。

●String型の値の取得

Optional<String> opt = Optional.ofNullable("123");
String str = opt.get();
System.out.println(str);

// 実行結果
123

●Listの値の取得

List<String> list= new ArrayList <>();
list.add("1");
list.add("2");
list.add("3");
Optional<List<String>> opt = Optional.ofNullable(list);
System.out.println(list);
List<String> 取得list= opt.get();
System.out.println(取得list);

// 実行結果
[1, 2, 3]
[1, 2, 3]

 

値を取得できない場合は、エラーとなります。

 getメソッドで値を取得できない場合はエラーとなります。

 値がない状態は「Optional.empty」で例えば、以下のような状態です

Optional<String> opt = Optional.empty();
String str = opt.get();

// 実行結果
Exception in thread "main" java.util.NoSuchElementException: No value present
String WKSTR = null;
Optional<String> opt = Optional.of(WKSTR);

// 実行結果
Exception in thread "main" java.util.NoSuchElementException: No value present

 一方で、Optional[]の場合は、エラーとなりません

Optional<String> opt = Optional.of("");
System.out.println(opt);
String str = opt.get();
System.out.println(str);

// 実行結果
Optional[]

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

コメントを残す

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

PAGE TOP