Javaエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnetJava
  2. Javaコラム
  3. Java TIPS
  4. JavaでのOptionalクラスの使い方とは?Optionalの基本的な使い方を紹介!

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

  • Java TIPS
公開日時:   更新日時:
JavaでのOptionalクラスの使い方とは?Optionalの基本的な使い方を紹介!
この記事でわかること

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

    システム
    エンジニア
    JavaのOptionalクラスはどのような場合に使用するのでしょうか。
    プロジェクト
    マネージャー
    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の場合の処理を実現できます。

    システム
    エンジニア
    JavaでのOptionalクラスの使い方がよく理解できました。
    プロジェクト
    マネージャー
    Optionalクラスの使い方が理解できたら、ご自身でソースコードを指定してみましょう。

    まとめ

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

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

    FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    Java新着案件New Job