クラスOptionalInt

java.lang.Object
java.util.OptionalInt

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

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

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。

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

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

    クラスjava.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • メソッドの詳細

    • empty

      public static OptionalInt empty()
      空のOptionalIntインスタンスを返します。 このOptionalIntには値はありません。
      APIのノート:
      これは一時的なものですが、OptionalInt.empty()によって返されたインスタンスと==または!=を比較して、オブジェクトが空であるかどうかをテストしないでく さい。 シングルトンである保証はありません。 かわりに、isEmpty()または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の 合
    • equals

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

      public int hashCode()
      値のハッシュ・コード(存在する 合)を返します。値がない 合は0 (zero)を返します。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      現在値のハッシュ・コード値または値が存在しない 合の0
      関連 目:
    • toString

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