Javaコラム Javaエンジニアのためのお役立ちコラム

IT

JavaでのOptionalクラスの使い方とは?Optionalの基本的な使い方を紹介!

2021年01月27日

JavaでのOptionalクラスの使い方とは?

SE
JavaのOptionalクラスはどのような場合に使用するのでしょうか。
PM
Javaでnullの可能性がある場合にうまく扱うクラスがOptionalクラスです。

今回は、JavaでのOptionalクラスの使い方について説明します。
Javaでnullの可能性がある場合にうまく扱うクラスがOptionalクラスです。

Optionalクラスの基本的な使い方について紹介します。

JavaでのOptionalクラスの使い方に興味のある方はぜひご覧ください。

Optionalクラスを使わない場合

まず、JavaでOptionalクラスを使わない場合の例を紹介します。
nullの可能性があるオブジェクトをどのように扱えばよいのでしょうか。

実際のソースコードを見てみましょう。

getSomethingの引数が偶数の場合、NullPointerExceptionは発生しません。
例外が発生しなかったので例外処理を作らないままでいると、奇数の入力時に例外が発生します。

なので、nullの可能性があるインスタンスはnullチェックを施します。

Optionalの基本的な使い方

Javaでnullの可能性がある場合にうまく扱うクラスがOptionalクラスです。

実際のソースコードを見てみましょう。

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

メソッドの戻り値をOptionalにし、nullの可能性がある為ofNullableで返します。
ifPresentメソッドで、値が存在する場合に処理します。
nullチェックも不要なので、インデントが深くならず、シンプルなソースになります。

このように、Javaでnullの可能性がある場合にはOptionalクラスを使用します。

ifPresentOrElse

ifPresentOrElseメソッドで、値が存在しない場合の処理を実現できます。

実際のソースコードを見てみましょう。

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

empty / of

JavaでOptionalクラスがnullを返す可能性がある場合はofNullableを使用しました。
nullを返す場合はemptyを使用します。

実際のソースコードを見てみましょう。

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

null以外を返す場合はofを使用します。

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

このように、JavaのOptionalクラスでは、nullを返す可能性があるか否かでofNullable/empty/ofを使い分ける必要があります。

orElse / orElseGet

Optionalオブジェクトの値がnullの場合に指定値を返すにはorElseを使用します。

実際のソースコードを見てみましょう。

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

Optionalオブジェクトの値がnullの場合の処理を実現するにはorElseを使用します。

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

このように、JavaのOptionalクラスでは、オブジェクトの値がnullの場合の処理を実現できます。

SE
JavaでのOptionalクラスの使い方がよく理解できました。
PM
Optionalクラスの使い方が理解できたら、ご自身でソースコードを指定してみましょう。

まとめ

いかがでしたでしょうか。JavaでのOptionalクラスの使い方について説明しました。
Javaでnullの可能性がある場合にうまく扱うクラスがOptionalクラスです。
Optionalクラスの基本的な使い方について紹介しました。

ぜひご自身でJavaのソースコードを書いて、理解を深めてください。


Javaでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

recommended

Categories

Tags