Java8のOptionalクラスの使い方

Java8のOptionalクラスの使い方

Java8からjava.util.Optionalクラスが追加されました。

nullチェックをしてくれるクラスって感じでしょうか。

以下のように値をラップします。get()で値を取得します。

ofNullableにnullをセットすると、get()部分でNoSuchElementExceptionエラーとなります。

get()を使う場合はisPresent()メソッドを使用してnullでない場合のみget()できるようにします。

これだとnullチェックしているようなのでifPresentメソッドと言う便利なメソッドもあります。

・orElseで値を取得する

今までget()で値を取得していましたがifPresent()やなにかとnullを考慮しないといけませんでした。

orElseの第一引数にはnullだった場合のデフォルト値を指定するため、nullだった場合は第一引数が取得されます。

結果は以下のようになります。

ofNullableにnullを指定して、orElseにもnullを指定すると、nullが指定されますがエラーは発生しません。

以下、例です。

結果は以下のようになります。

・orElseGetで値を取得する

orElse()と同様にorElseGet()を指定して値を取得することができます。

orElseGetは以下のようにSupplier型のラムダ式で渡します。

orElseGetのようにデフォルト値をラムダ式で記述することによりnullだった場合のみnewされます。

以下、例です。

結果は以下のようになります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

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

CAPTCHA