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