public final class OptionalLong extends Object
long value. If a
value is present, isPresent() returns true and
getAsLong() 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
OptionalLong may have unpredictable results and should be avoided.
| Modifier and Type | Method and Description |
|---|---|
static OptionalLong |
empty()
Returns an empty
OptionalLong instance. |
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this
OptionalLong. |
long |
getAsLong()
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(LongConsumer action)
If a value is present, performs the given action with the value,
otherwise does nothing.
|
void |
ifPresentOrElse(LongConsumer 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 OptionalLong |
of(long value)
Returns an
OptionalLong describing the given value. |
long |
orElse(long other)
If a value is present, returns the value, otherwise returns
other. |
long |
orElseGet(LongSupplier 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.
|
LongStream |
stream()
If a value is present, returns a sequential
LongStream containing
only that value, otherwise returns an empty LongStream. |
String |
toString()
Returns a non-empty string representation of this
OptionalLong
suitable for debugging. |
public static OptionalLong empty()
OptionalLong instance. No value is present for
this OptionalLong.== against instances returned by
OptionalLong.empty(). There is no guarantee that it is a singleton.
Instead, use isPresent().OptionalLong.public static OptionalLong of(long value)
OptionalLong describing the given value.value - the value to describeOptionalLong with the value presentpublic long getAsLong()
NoSuchElementException.OptionalLongNoSuchElementException - if no value is presentisPresent()public boolean isPresent()
true, otherwise false.true if a value is present, otherwise falsepublic void ifPresent(LongConsumer action)
action - the action to be performed, if a value is presentNullPointerException - if value is present and the given action is
nullpublic void ifPresentOrElse(LongConsumer 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 LongStream stream()
LongStream containing
only that value, otherwise returns an empty LongStream.Stream of optional longs
to an LongStream of present longs:
Stream<OptionalLong> os = ..
LongStream s = os.flatMapToLong(OptionalLong::stream)
LongStreampublic long orElse(long other)
other.other - the value to be returned, if no value is presentotherpublic long orElseGet(LongSupplier 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> long 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)
OptionalLong. The other object is considered equal if:
OptionalLong and;
==.
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()
OptionalLong
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