public final class OptionalDouble extends Object
double value. If a
value is present, isPresent() returns true and
getAsDouble() returns the value.
Additional methods that depend on the presence or absence of a contained
value are provided, such as orElse()
(returns a default value if no value is present) and
ifPresent() (performs
an action if a value is present).
This is a value-based
class; use of identity-sensitive operations (including reference equality
(==), identity hash code, or synchronization) on instances of
OptionalDouble may have unpredictable results and should be avoided.
| Modifier and Type | Method and Description |
|---|---|
static OptionalDouble |
empty()
Returns an empty
OptionalDouble instance. |
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this
OptionalDouble. |
double |
getAsDouble()
If a value is present, returns the value, otherwise throws
NoSuchElementException. |
int |
hashCode()
Returns the hash code of the value, if present, otherwise
0
(zero) if no value is present. |
void |
ifPresent(DoubleConsumer action)
If a value is present, performs the given action with the value,
otherwise does nothing.
|
void |
ifPresentOrElse(DoubleConsumer action,
Runnable emptyAction)
If a value is present, performs the given action with the value,
otherwise performs the given empty-based action.
|
boolean |
isPresent()
If a value is present, returns
true, otherwise false. |
static OptionalDouble |
of(double value)
Returns an
OptionalDouble describing the given value. |
double |
orElse(double other)
If a value is present, returns the value, otherwise returns
other. |
double |
orElseGet(DoubleSupplier supplier)
If a value is present, returns the value, otherwise returns the result
produced by the supplying function.
|
<X extends Throwable> |
orElseThrow(Supplier<? extends X> exceptionSupplier)
If a value is present, returns the value, otherwise throws an exception
produced by the exception supplying function.
|
DoubleStream |
stream()
If a value is present, returns a sequential
DoubleStream
containing only that value, otherwise returns an empty
DoubleStream. |
String |
toString()
Returns a non-empty string representation of this
OptionalDouble
suitable for debugging. |
public static OptionalDouble empty()
OptionalDouble instance. No value is present
for this OptionalDouble.== against instances returned by
OptionalDouble.empty(). There is no guarantee that it is a singleton.
Instead, use isPresent().OptionalDouble.public static OptionalDouble of(double value)
OptionalDouble describing the given value.value - the value to describeOptionalDouble with the value presentpublic double getAsDouble()
NoSuchElementException.OptionalDoubleNoSuchElementException - if no value is presentisPresent()public boolean isPresent()
true, otherwise false.true if a value is present, otherwise falsepublic void ifPresent(DoubleConsumer action)
action - the action to be performed, if a value is presentNullPointerException - if value is present and the given action is
nullpublic void ifPresentOrElse(DoubleConsumer action, Runnable emptyAction)
action - the action to be performed, if a value is presentemptyAction - the empty-based action to be performed, if no value is
presentNullPointerException - if a value is present and the given action
is null, or no value is present and the given empty-based
action is null.public DoubleStream stream()
DoubleStream
containing only that value, otherwise returns an empty
DoubleStream.Stream of optional doubles
to a DoubleStream of present doubles:
Stream<OptionalDouble> os = ..
DoubleStream s = os.flatMapToDouble(OptionalDouble::stream)
DoubleStreampublic double orElse(double other)
other.other - the value to be returned, if no value is presentotherpublic double orElseGet(DoubleSupplier supplier)
supplier - the supplying function that produces a value to be returnedNullPointerException - if no value is present and the supplying
function is nullpublic <X extends Throwable> double orElseThrow(Supplier<? extends X> exceptionSupplier) throws X extends Throwable
IllegalStateException::newX - Type of the exception to be thrownexceptionSupplier - the supplying function that produces an
exception to be thrownX - if no value is presentNullPointerException - if no value is present and the exception
supplying function is nullX extends Throwablepublic boolean equals(Object obj)
OptionalDouble. The other object is considered equal if:
OptionalDouble and;
Double.compare() == 0.
equals in class Objectobj - an object to be tested for equalitytrue if the other object is "equal to" this object
otherwise falseObject.hashCode(),
HashMappublic int hashCode()
0
(zero) if no value is present.hashCode in class Object0 if no value is
presentObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)public String toString()
OptionalDouble
suitable for debugging. The exact presentation format is unspecified and
may vary between implementations and versions. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.
DRAFT 9-internal+0-2016-01-26-133437.ivan.openjdk9onspinwait