java.lang.Object
java.util.OptionalDouble
public final class OptionalDouble extends Object
double値を含む場合と含まない場合があるコンテナオブジェクト。 値が存在する場合、isPresent()はtrueを返します。 値が存在しない場合、オブジェクトはemptyとみなされ、isPresent()はfalseを返します。
orElse() (値がない場合はデフォルト値を返します)およびifPresent() (値が存在する場合にアクションを実行)のような、含まれた値の有無に依存する追加のメソッドが提供されています。
これは値ベースのクラスで、OptionalDoubleのインスタンスに対して、ID依存操作(参照等価性(==)、IDハッシュ・コード、同期など)を使用すると、予期できない結果になる可能性があり、避けてください。
- APIの注:
OptionalDoubleは、主に"検索なし"を明示的に必要とするメソッドの戻り型として使用することを意図しています 型がOptionalDoubleの変数は、それ自体決してnullであってはなりません。常にOptionalDoubleインスタンスを指す必要があります。- 導入されたバージョン:
- 1.8
-
メソッドのサマリー
修飾子と型 メソッド 説明 static OptionalDoubleempty()空のOptionalDoubleインスタンスを返します。booleanequals(Object obj)他のオブジェクトがこのOptionalDoubleに"等しい"かどうかを示します。doublegetAsDouble()値がある場合は値を返し、そうでない場合はNoSuchElementExceptionをスローします。inthashCode()存在する場合は値のハッシュ・コードを返し、値が存在しない場合は0(zero)を返します。voidifPresent(DoubleConsumer action)値が存在する場合は、その値で指定されたアクションを実行し、そうでない場合は何もしません。voidifPresentOrElse(DoubleConsumer action, Runnable emptyAction)値が存在する場合は、指定されたアクションを値とともに実行し、そうでない場合は空のベースのアクションを実行します。booleanisEmpty()値が存在しない場合はtrue、それ以外の場合falseを返します。booleanisPresent()値が存在する場合はtrueを返し、そうでない場合はfalseを返します。static OptionalDoubleof(double value)指定された値を記述するOptionalDoubleを返します。doubleorElse(double other)値が存在する場合は値を返し、そうでない場合はotherを返します。doubleorElseGet(DoubleSupplier supplier)値が存在する場合は値を返し、そうでない場合は供給関数によって生成された結果を返します。doubleorElseThrow()値がある場合は値を返し、そうでない場合はNoSuchElementExceptionをスローします。<X extends Throwable>
doubleorElseThrow(Supplier<? extends X> exceptionSupplier)値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。DoubleStreamstream()値が存在する場合は、その値のみを含む順次DoubleStreamを返し、それ以外の場合は空のDoubleStreamを返します。StringtoString()デバッグに適したこのOptionalDoubleの空でない文字列表現を返します。
-
メソッドの詳細
-
empty
public static OptionalDouble empty()空のOptionalDoubleインスタンスを返します。 このOptionalDoubleには値はありません。- APIの注:
- そのようにするのが賢明かもしれませんが、
==とOptionalDouble.empty()によって返されたインスタンスを比較することによって、オブジェクトが空であるかどうかをテストしないでください。 シングルトンである保証はありません。 かわりにisPresent()を使用してください。 - 戻り値:
- 空の
OptionalDouble。
-
of
public static OptionalDouble of(double value)指定された値を記述するOptionalDoubleを返します。- パラメータ:
value- 説明する値- 戻り値:
- 値が存在する
OptionalDouble
-
getAsDouble
public double getAsDouble()値がある場合は値を返し、そうでない場合はNoSuchElementExceptionをスローします。- APIの注:
- このメソッドの好ましい代替メソッドは
orElseThrow()です。 - 戻り値:
- この
OptionalDoubleで記述された値 - 例外:
NoSuchElementException- 値が存在しない場合
-
isPresent
public boolean isPresent()値が存在する場合はtrueを返し、そうでない場合はfalseを返します。- 戻り値:
- 値が存在する場合は
true、そうでない場合はfalse
-
isEmpty
public boolean isEmpty()値が存在しない場合はtrue、それ以外の場合falseを返します。- 戻り値:
- 値が存在しない場合は
true、それ以外の場合はfalse - 導入されたバージョン:
- 11
-
ifPresent
public void ifPresent(DoubleConsumer action)値が存在する場合は、その値で指定されたアクションを実行し、そうでない場合は何もしません。- パラメータ:
action- 値が存在する場合、実行されるアクション- 例外:
NullPointerException- 値が存在し、与えられたアクションがnullの場合
-
ifPresentOrElse
public void ifPresentOrElse(DoubleConsumer action, Runnable emptyAction)値が存在する場合は、指定されたアクションを値とともに実行し、そうでない場合は空のベースのアクションを実行します。- パラメータ:
action- 値が存在する場合、実行されるアクションemptyAction- 値が存在しない場合、実行される空のベースのアクション- 例外:
NullPointerException- 値が存在し、指定されたアクションがnullの場合、または値が存在しない場合、指定された空のアクションはnullです。- 導入されたバージョン:
- 9
-
stream
public DoubleStream stream()値が存在する場合は、その値のみを含む順次DoubleStreamを返し、それ以外の場合は空のDoubleStreamを返します。- APIの注:
- このメソッドは、オプションのdoubleの
Streamを現在のdoubleのDoubleStreamに変換するために使用できます:Stream<OptionalDouble> os = .. DoubleStream s = os.flatMapToDouble(OptionalDouble::stream) - 戻り値:
- オプションの値は
DoubleStreamです。 - 導入されたバージョン:
- 9
-
orElse
public double orElse(double other)値が存在する場合は値を返し、そうでない場合はotherを返します。- パラメータ:
other- 値が存在しない場合、返される値- 戻り値:
- 値(存在する場合)、それ以外の場合は
other
-
orElseGet
public double orElseGet(DoubleSupplier supplier)値が存在する場合は値を返し、そうでない場合は供給関数によって生成された結果を返します。- パラメータ:
supplier- 戻される値を生成する供給関数- 戻り値:
- 存在する場合は値、そうでない場合は供給関数によって生成された結果
- 例外:
NullPointerException- 値が存在せず、供給関数がnullの場合
-
orElseThrow
public double orElseThrow()値がある場合は値を返し、そうでない場合はNoSuchElementExceptionをスローします。- 戻り値:
- この
OptionalDoubleで記述された値 - 例外:
NoSuchElementException- 値が存在しない場合- 導入されたバージョン:
- 10
-
orElseThrow
public <X extends Throwable> double orElseThrow(Supplier<? extends X> exceptionSupplier) throws X extends Throwable値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。- APIの注:
- 引数リストが空である例外コンストラクタへのメソッド参照をサプライヤとして使用できます。 たとえば、
IllegalStateException::newなどです。 - 型パラメータ:
X- スローされる例外の型- パラメータ:
exceptionSupplier- スローされる例外を生成する供給関数- 戻り値:
- 存在する場合は値
- 例外:
X- 値が存在しない場合NullPointerException- 値が存在せず、例外を提供する関数がnullの場合X extends Throwable
-
equals
public boolean equals(Object obj)他のオブジェクトがこのOptionalDoubleに"等しい"かどうかを示します。 他方のオブジェクトは次の場合に同等と見なされます。- それも
OptionalDoubleである、および - 両方のインスタンスに存在する値がない、または
- 存在する値が
Double.compare() == 0によってお互いに等しい。
- オーバーライド:
equals、クラス:Object- パラメータ:
obj- 等価性を判定されるオブジェクト- 戻り値:
true他のオブジェクトが"に等しい"の場合はこのオブジェクト、そうでない場合はfalse- 関連項目:
Object.hashCode()、HashMap
- それも
-
hashCode
public int hashCode()存在する場合は値のハッシュ・コードを返し、値が存在しない場合は0(zero)を返します。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- 現在値のハッシュ・コード値または値が存在しない場合の
0 - 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
public String toString()デバッグに適したこのOptionalDoubleの空でない文字列表現を返します。 正確な表示フォーマットは未指定であり、実装とバージョンの間で異なることがあります。
-