モジュール java.base
パッケージ java.util

クラスOptionalInt


  • public final class OptionalInt
    extends Object
    int値を含む場合と含まない場合があるコンテナ・オブジェクト。 値が存在する場合、isPresent()trueを返します。 値が存在しない場合、オブジェクトはとみなされ、isPresent()falseを返します。

    orElse() (値が存在しない場合はデフォルト値を返す)やifPresent() (値が存在する場合はアクションを実行する)など、含まれる値の有無に依存するその他のメソッドが提供されます。

    これは値ベースのクラスで、OptionalIntのインスタンスに対して、ID依存操作(参照等価性(==)、IDハッシュ・コード、同期など)を使用すると、予期できない結果になる可能性があり、避けてください。

    APIのノート:
    OptionalIntは、主に「結果なし」を表す必要がある明確なメソッド戻り型として使用することを目的としています。 型がOptionalIntの変数は、それ自体がnullではなく、常にOptionalIntインスタンスを指す必要があります。
    導入されたバージョン:
    1.8
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      static OptionalInt empty()
      空のOptionalIntインスタンスを返します。
      boolean equals​(Object obj)
      他のオブジェクトがこのOptionalIntと等しいかどうかを示します。
      int getAsInt()
      値が存在する場合は値を返し、それ以外の場合はNoSuchElementExceptionをスローします。
      int hashCode()
      値のハッシュ・コード(存在する場合)を返します。それ以外の場合、値が存在しない場合は0 (ゼロ)を返します。
      void ifPresent​(IntConsumer action)
      値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は何も実行しません。
      void ifPresentOrElse​(IntConsumer action, Runnable emptyAction)
      値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は指定された空ベースのアクションを実行します。
      boolean isEmpty()
      値が存在しない場合はtrue、それ以外の場合falseを返します。
      boolean isPresent()
      値が存在する場合はtrueを戻し、それ以外の場合はfalseを戻します。
      static OptionalInt of​(int value)
      指定された値を記述するOptionalIntを返します。
      int orElse​(int other)
      値が存在する場合は値を返し、それ以外の場合はotherを返します。
      int orElseGet​(IntSupplier supplier)
      値が存在する場合は値を返し、それ以外の場合は供給関数によって生成された結果を返します。
      int orElseThrow()
      値が存在する場合は値を返し、それ以外の場合はNoSuchElementExceptionをスローします。
      <X extends Throwable>
      int
      orElseThrow​(Supplier<? extends X> exceptionSupplier)
      値が存在する場合はその値を返し、それ以外の場合は例外指定関数によって生成された例外をスローします。
      IntStream stream()
      値が存在する場合は、その値のみを含む順次IntStreamを戻し、それ以外の場合は空のIntStreamを戻します。
      String toString()
      デバッグに適した、このOptionalIntの空でない文字列表現を返します。
    • メソッドの詳細

      • empty

        public static OptionalInt empty()
        空のOptionalIntインスタンスを返します。 このOptionalIntには値がありません。
        APIのノート:
        オブジェクトが空であるかどうかのテストは、OptionalInt.empty()によって返されるインスタンスに対して==と比較することで避けてください。 シングルトンである保証はありません。 かわりにisPresent()を使用してください。
        戻り値:
        空のOptionalInt
      • of

        public static OptionalInt of​(int value)
        指定された値を記述するOptionalIntを返します。
        パラメータ:
        value - 説明する値
        戻り値:
        値が存在するOptionalInt
      • getAsInt

        public int getAsInt()
        値が存在する場合は値を返し、それ以外の場合はNoSuchElementExceptionをスローします。
        APIのノート:
        この方法に代わる推奨方法は、orElseThrow()です。
        戻り値:
        このOptionalIntによって記述される値
        例外:
        NoSuchElementException - 値が存在しない場合
      • isPresent

        public boolean isPresent()
        値が存在する場合はtrueを戻し、それ以外の場合はfalseを戻します。
        戻り値:
        値が存在する場合はtrue、それ以外の場合はfalse
      • isEmpty

        public boolean isEmpty()
        値が存在しない場合はtrue、それ以外の場合falseを返します。
        戻り値:
        値が存在しない場合はtrue、それ以外の場合はfalse
        導入されたバージョン:
        11
      • ifPresent

        public void ifPresent​(IntConsumer action)
        値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は何も実行しません。
        パラメータ:
        action - 実行されるアクション(値が存在する場合)
        例外:
        NullPointerException - 値が存在し、指定されたアクションがnullの場合
      • ifPresentOrElse

        public void ifPresentOrElse​(IntConsumer action,
                                    Runnable emptyAction)
        値が存在する場合は、指定されたアクションを値とともに実行し、それ以外の場合は指定された空ベースのアクションを実行します。
        パラメータ:
        action - 実行されるアクション(値が存在する場合)
        emptyAction - 値が存在しない場合、実行する空ベースのアクション
        例外:
        NullPointerException - 値が存在し、指定されたアクションがnullの場合、または値が存在せず、指定された空ベースのアクションがnullの場合。
        導入されたバージョン:
        9
      • stream

        public IntStream stream()
        値が存在する場合は、その値のみを含む順次IntStreamを戻し、それ以外の場合は空のIntStreamを戻します。
        APIのノート:
        このメソッドは、オプションの整数のStreamを現在の整数のIntStreamに変換するために使用できます。
        
             Stream<OptionalInt> os = ..
             IntStream s = os.flatMapToInt(OptionalInt::stream)
         
        戻り値:
        IntStreamのオプション値
        導入されたバージョン:
        9
      • orElse

        public int orElse​(int other)
        値が存在する場合は値を返し、それ以外の場合はotherを返します。
        パラメータ:
        other - 値が存在しない場合、返される値
        戻り値:
        値(存在する場合)、それ以外の場合はother
      • orElseGet

        public int orElseGet​(IntSupplier supplier)
        値が存在する場合は値を返し、それ以外の場合は供給関数によって生成された結果を返します。
        パラメータ:
        supplier - 返される値を生成する指定関数
        戻り値:
        値(存在する場合)、それ以外の場合、供給機能によって生成される結果
        例外:
        NullPointerException - 値がなく、指定関数がnullの場合
      • orElseThrow

        public int orElseThrow()
        値が存在する場合は値を返し、それ以外の場合はNoSuchElementExceptionをスローします。
        戻り値:
        このOptionalIntによって記述される値
        例外:
        NoSuchElementException - 値が存在しない場合
        導入されたバージョン:
        10
      • orElseThrow

        public <X extends Throwable> int orElseThrow​(Supplier<? extends X> exceptionSupplier)
                                              throws X
        値が存在する場合はその値を返し、それ以外の場合は例外指定関数によって生成された例外をスローします。
        APIのノート:
        引数リストが空である例外コンストラクタへのメソッド参照をサプライヤとして使用できます。 たとえば、IllegalStateException::newなどです。
        型パラメータ:
        X - スローされる例外の型
        パラメータ:
        exceptionSupplier - スローされる例外を生成する指定関数
        戻り値:
        値が存在する場合
        例外:
        X - 値が存在しない場合
        NullPointerException - 値が存在せず、関数を指定している例外がnullの場合
        X extends Throwable
      • equals

        public boolean equals​(Object obj)
        他のオブジェクトがこのOptionalIntと等しいかどうかを示します。 他方のオブジェクトは次の場合に同等と見なされます。
        • それもOptionalIntである、および
        • 両方のインスタンスに存在する値がない、または
        • 存在する値が==によってお互いに等しい。
        オーバーライド:
        equals、クラスObject
        パラメータ:
        obj - 等価性を判定されるオブジェクト
        戻り値:
        他のオブジェクトがこのオブジェクトと等しい場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • toString

        public String toString()
        デバッグに適した、このOptionalIntの空でない文字列表現を返します。 正確な表示フォーマットは未指定であり、実装とバージョンの間で異なることがあります。
        オーバーライド:
        toString、クラスObject
        実装要件:
        値が存在する場合は、結果にその文字列表現が含まれる必要があります。 空のOptionalIntと現在のOptionalIntは、明確に区別できる必要があります。
        戻り値:
        このインスタンスの文字列表現