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されます。

以下、例です。

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

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくば、我に七難八苦を与えたまえ」です^^

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

コメントをどうぞ

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

CAPTCHA