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 | 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.OptionalLongNoSuchElementException - 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 falsepublic 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 presentotherpublic 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
IllegalStateException::newX - 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 Throwablepublic boolean equals(Object obj)
OptionalLong and; ==. equals in class Objectobj - an object to be tested for equalityfalseObject.hashCode(), HashMappublic int hashCode()
hashCode in class ObjectObject.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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.