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

ポリモフィズム(多態性)とは

Javaでオブジェクト指向の考え方の重要な考え方であるポリモフィズムについて。 Contents1 ポリモフィズムとは?2 ソース ポリモフィズムとは? 日常的に使っていながらいざ説明するとなると困り …

no image

Streamについて

Java8で導入されたStreamですが、名前はしっていたものの、使い方がわからず放置していました。 これを機に調べたのですが、コレクションフレームワークの拡張のようですね。 特徴としては以下のような …

no image

Streamでの特定条件化のカウント&合計値算出

Java8、streamで値を抽出し、カウントと合計値の算出について、小ネタです。 一番多いのがList<Map>タイプの値の検出です。 [crayon-5bc904cc95d105813 …

no image

イテレーターに関して

Javaの繰り返しでイテレーターという概念がありますね。 今はあまり使われなくなっているようですが、資格の勉強をしていたら出てきたのと、たしなみとして知っておく必要があるため、記述します。 ソース [ …

no image

JSFでのjQuery

JSFでのjQueryの取得 以前、Seleniumに関連したエントリーを書いたときにJSFではidが親要素を伴うと書きました。 例えば <form id=”form1″ …