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.
API Note:
Though it may be tempting to do so, avoid testing if an object is empty
by comparing with == 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.
API Note:
This method can be used to transform a 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
API Note:
A method reference to the exception constructor with an empty argument
list can be used as the supplier. For example,
IllegalStateException::new
X - 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.
public int hashCode()
0
(zero) if no value is present.public String toString()
OptionalDouble
suitable for debugging. The exact presentation format is unspecified and
may vary between implementations and versions.
Implementation Requirements:
If a value is present the result must include its string representation
in the result. Empty and present OptionalDoubles must be
unambiguously differentiable.
Copyright © 2016. All rights reserved.