OptionalLong
public
final
class
OptionalLong
extends Object
| java.lang.Object | |
| ↳ | java.util.OptionalLong |
A container object which may or may not contain a long value.
If a value is present, isPresent() returns true. If no
value is present, the object is considered empty and
isPresent() returns false.
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; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail.
Summary
Public methods | |
|---|---|
static
OptionalLong
|
empty()
Returns an empty |
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this
|
long
|
getAsLong()
If a value is present, returns the value, otherwise throws
|
int
|
hashCode()
Returns the hash code of the value, if present, otherwise |
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
|
isEmpty()
If a value is not present, returns |
boolean
|
isPresent()
If a value is present, returns |
static
OptionalLong
|
of(long value)
Returns an |
long
|
orElse(long other)
If a value is present, returns the value, otherwise returns
|
long
|
orElseGet(LongSupplier supplier)
If a value is present, returns the value, otherwise returns the result produced by the supplying function. |
<X extends Throwable>
long
|
orElseThrow(Supplier<? extends X> exceptionSupplier)
If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function. |
long
|
orElseThrow()
If a value is present, returns the value, otherwise throws
|
LongStream
|
stream()
If a value is present, returns a sequential |
String
|
toString()
Returns a non-empty string representation of this |
Inherited methods | |
|---|---|
Public methods
empty
public static OptionalLong empty ()
Returns an empty OptionalLong instance. No value is present for
this OptionalLong.
API Note:
- Though it may be tempting to do so, avoid testing if an object is empty
by comparing with
==or!=against instances returned byOptionalLong.empty(). There is no guarantee that it is a singleton. Instead, useisEmpty()orisPresent().
| Returns | |
|---|---|
OptionalLong |
an empty OptionalLong. |
equals
public boolean equals (Object obj)
Indicates whether some other object is "equal to" this
OptionalLong. The other object is considered equal if:
- it is also an
OptionalLongand; - both instances have no value present or;
- the present values are "equal to" each other via
==.
| Parameters | |
|---|---|
obj |
Object: an object to be tested for equality |
| Returns | |
|---|---|
boolean |
true if the other object is "equal to" this object
otherwise false |
getAsLong
public long getAsLong ()
If a value is present, returns the value, otherwise throws
NoSuchElementException.
API Note:
- The preferred alternative to this method is
orElseThrow().
| Returns | |
|---|---|
long |
the value described by this OptionalLong |
| Throws | |
|---|---|
NoSuchElementException |
if no value is present |
hashCode
public int hashCode ()
Returns the hash code of the value, if present, otherwise 0
(zero) if no value is present.
| Returns | |
|---|---|
int |
hash code value of the present value or 0 if no value is
present |
ifPresent
public void ifPresent (LongConsumer action)
If a value is present, performs the given action with the value, otherwise does nothing.
| Parameters | |
|---|---|
action |
LongConsumer: the action to be performed, if a value is present |
| Throws | |
|---|---|
NullPointerException |
if value is present and the given action is
null |
ifPresentOrElse
public 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.
| Parameters | |
|---|---|
action |
LongConsumer: the action to be performed, if a value is present |
emptyAction |
Runnable: the empty-based action to be performed, if no value is
present |
| Throws | |
|---|---|
NullPointerException |
if a value is present and the given action
is null, or no value is present and the given empty-based
action is null. |
isEmpty
public boolean isEmpty ()
If a value is not present, returns true, otherwise
false.
| Returns | |
|---|---|
boolean |
true if a value is not present, otherwise false |
isPresent
public boolean isPresent ()
If a value is present, returns true, otherwise false.
| Returns | |
|---|---|
boolean |
true if a value is present, otherwise false |
of
public static OptionalLong of (long value)
Returns an OptionalLong describing the given value.
| Parameters | |
|---|---|
value |
long: the value to describe |
| Returns | |
|---|---|
OptionalLong |
an OptionalLong with the value present |
orElse
public long orElse (long other)
If a value is present, returns the value, otherwise returns
other.
| Parameters | |
|---|---|
other |
long: the value to be returned, if no value is present |
| Returns | |
|---|---|
long |
the value, if present, otherwise other |
orElseGet
public long orElseGet (LongSupplier supplier)
If a value is present, returns the value, otherwise returns the result produced by the supplying function.
| Parameters | |
|---|---|
supplier |
LongSupplier: the supplying function that produces a value to be returned |
| Returns | |
|---|---|
long |
the value, if present, otherwise the result produced by the supplying function |
| Throws | |
|---|---|
NullPointerException |
if no value is present and the supplying
function is null |
orElseThrow
public long orElseThrow (Supplier<? extends X> exceptionSupplier)
If a value is present, returns the value, otherwise throws an exception produced by the exception supplying function.
API Note:
- A method reference to the exception constructor with an empty argument
list can be used as the supplier. For example,
IllegalStateException::new
| Parameters | |
|---|---|
exceptionSupplier |
Supplier: the supplying function that produces an
exception to be thrown |
| Returns | |
|---|---|
long |
the value, if present |
| Throws | |
|---|---|
|
if no value is present |
NullPointerException |
if no value is present and the exception
supplying function is null |
Throwable |
|
orElseThrow
public long orElseThrow ()
If a value is present, returns the value, otherwise throws
NoSuchElementException.
| Returns | |
|---|---|
long |
the value described by this OptionalLong |
| Throws | |
|---|---|
NoSuchElementException |
if no value is present |
stream
public LongStream stream ()
If a value is present, returns a sequential LongStream containing
only that value, otherwise returns an empty LongStream.
API Note:
- This method can be used to transform a
Streamof optional longs to anLongStreamof present longs:Stream<OptionalLong> os = .. LongStream s = os.flatMapToLong(OptionalLong::stream)
| Returns | |
|---|---|
LongStream |
the optional value as an LongStream |
toString
public String toString ()
Returns a non-empty string representation of this OptionalLong
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
OptionalLongs must be unambiguously differentiable.
| Returns | |
|---|---|
String |
the string representation of this instance |