skillup

技術ブログ

Java

Optionalについて その1

投稿日:

Streamに続いて、Java8で新搭載された機能がOptional です。

Javaではnullの処理をいちいちしなくてはいけないのがいろいろと面倒ですが、Optionalの機能をうまく使うことで可読性の高いコードを書くことができます。

私もまだ調査中なので本当に基本的な部分だけ紹介します。

Optionalとは?

Optionalとはnullかも知れない値をラップできる、オブジェクトです。

通常の処理

現状、Javaでは値にnullが入っているオブジェクトに対して処理をしようとするとExceptionが発生します。

これを防ぐために下記のようなチェック方法があります。

nullチェックその1

ifでチェック

この場合、何も出力されません。

nullチェックその2

例外を使ってキャッチする方法もあります。

nullと出力されます。

Optionalの使い方

Optionalはこのようにnullの可能性がある値をラップします。

メソッドの説明ですが、
Optional.ofNullable()はnullかもしれない値を取得します。
isPresent()は存在チェックなのでbooleanを返します。
str1.get()は値を取得します。
今回の場合、一切出力はされません。(文字がある場合、表示されます。)

ラムダ式を使った使い方

なお、下記のようにラムダ式を使った表記も可能です。

まだ全然調べられてないのでとりあえず今回はここまでにします。

-Java
-,

執筆者:


comment

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

関連記事

no image

JPAでのデータベースとの同期

このブログでも何回か書いてきたJPAですが、新規レコードをインサートさせた際IDを取得し、そのIDをもとに何らかのキーを作る、そういう処理があったので紹介させていただきます。 何回か書いてますが、JP …

no image

JPAのdetach

このブログで何回か書いてきたんですが、JPAを使うときにpersisit=insert,merge=updateではないです。 参考リンク JPAまとめ JPAでのデータベースとの同期 実はJPAでf …

no image

Javaでのコーディングで気を付けること

会社でSoftWareDesignを定期購読しており、Javaのコーディングで気をつけることなどがあったので、ちょっとチェック。 以前も似たようなエントリーは書いたことがあったのだけど、再確認。メモ書 …

no image

arquillianでの外部ライブラリ使用

現状、実務ではDBのテストでは基本的にarquillianを使っています。 arquillianとにかく、重いですね~。 まあglassfishを動かしているので仕方ないかもしれませんが、簡単なテスト …

no image

try-with-resourceの使い方

先日ファイル入出力の処理をいろいろと書いていたところ、例外処理について社長からアドバイスをいただきました。 Contents1 ファイルの入出力について2 try-with-resource3 参考リ …