public final class OptionalLong extends Object
long
value.
If a value is present, isPresent()
will return true
and
getAsLong()
will return the value.
Additional methods that depend on the presence or absence of a contained
value are provided, such as orElse()
(return a default value if value not present) and
ifPresent()
(execute a block
of code if the 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 in this
OptionalLong , returns the value,
otherwise throws NoSuchElementException . |
int |
hashCode()
Returns the hash code value of the present value, if any, or 0 (zero) if
no value is present.
|
void |
ifPresent(LongConsumer consumer)
Have the specified consumer accept the value if a value is present,
otherwise do nothing.
|
boolean |
isPresent()
Return
true if there is a value present, otherwise false . |
static OptionalLong |
of(long value)
Return an
OptionalLong with the specified value present. |
long |
orElse(long other)
Return the value if present, otherwise return
other . |
long |
orElseGet(LongSupplier other)
Return the value if present, otherwise invoke
other and return
the result of that invocation. |
<X extends Throwable> |
orElseThrow(Supplier<X> exceptionSupplier)
Return the contained value, if present, otherwise throw an exception
to be created by the provided supplier.
|
String |
toString()
Returns a string representation of the object.
|
public static OptionalLong empty()
OptionalLong
instance. No value is present for this
OptionalLong.==
against instances returned by
Option.empty()
. There is no guarantee that it is a singleton.
Instead, use isPresent()
.OptionalLong
.public static OptionalLong of(long value)
OptionalLong
with the specified value present.value
- the value to be presentOptionalLong
with the value presentpublic long getAsLong()
OptionalLong
, returns the value,
otherwise throws NoSuchElementException
.OptionalLong
NoSuchElementException
- if there is no value presentisPresent()
public boolean isPresent()
true
if there is a value present, otherwise false
.true
if there is a value present, otherwise false
public void ifPresent(LongConsumer consumer)
consumer
- block to be executed if a value is presentNullPointerException
- if value is present and consumer
is
nullpublic long orElse(long other)
other
.other
- the value to be returned if there is no value presentother
public long orElseGet(LongSupplier other)
other
and return
the result of that invocation.other
- a LongSupplier
whose result is returned if no value
is presentother.getAsLong()
NullPointerException
- if value is not present and other
is
nullpublic <X extends Throwable> long orElseThrow(Supplier<X> exceptionSupplier) throws X extends Throwable
IllegalStateException::new
X
- Type of the exception to be thrownexceptionSupplier
- The supplier which will return the exception to
be thrownX
- if there is no value presentNullPointerException
- if no value is present and
exceptionSupplier
is nullX extends Throwable
public boolean equals(Object obj)
OptionalLong
and;
==
.
equals
in class Object
obj
- an object to be tested for equalityfalse
Object.hashCode()
,
HashMap
public int hashCode()
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
Returns a non-empty string representation of this object suitable for debugging. The exact presentation format is unspecified and may vary between implementations and versions.getClass().getName() + '@' + Integer.toHexString(hashCode())
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, 2019, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.