Класс OptionalLong
public final class OptionalLong extends Object
isPresent() возвращает true. Если значение отсутствует, объект считается пустым, и метод isPresent() возвращает false. Предоставляются дополнительные методы, зависящие от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).
Это класс с базисом-значением; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе может произойти непредсказуемое поведение. Например, в будущих релизах синхронизация может не работать корректно.
- API Note:
-
OptionalLongпредназначен в первую очередь для использования в качестве типа возвращаемого значения метода, где явно требуется представление "отсутствия результата". Переменная, тип которой являетсяOptionalLong, никогда не должна сама бытьnull; она всегда должна указывать на экземплярOptionalLong. - Since:
- 1.8
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static OptionalLong |
empty() |
Возвращает пустой экземпляр OptionalLong. |
boolean |
equals |
Указывает, является ли другой объект "равным" этому объекту OptionalLong. |
long |
getAsLong() |
Если значение присутствует, возвращает значение, в противном случае генерирует исключение NoSuchElementException. |
int |
hashCode() |
Возвращает хэш-код значения, если оно присутствует, в противном случае возвращает 0 (ноль), если значение отсутствует. |
void |
ifPresent |
Если значение присутствует, выполняет заданное действие со значением, в противном случае ничего не делает. |
void |
ifPresentOrElse |
Если значение присутствует, выполняет заданное действие со значением, в противном случае выполняет заданное действие для пустого случая. |
boolean |
isEmpty() |
Если значение отсутствует, возвращает true, в противном случае возвращает false. |
boolean |
isPresent() |
Если значение присутствует, возвращает true, в противном случае возвращает false. |
static OptionalLong |
of |
Возвращает строку, описывающую данное значение. |
long |
orElse |
Если значение присутствует, возвращает значение, в противном случае возвращает other. |
long |
orElseGet |
Если значение присутствует, возвращает значение, в противном случае возвращает результат, полученный от поставщика функции. |
long |
orElseThrow() |
Если значение присутствует, возвращает значение, в противном случае генерирует исключение NoSuchElementException. |
<X extends Throwable> |
orElseThrow |
Если значение присутствует, возвращает значение, в противном случае генерирует исключение, сгенерированное функцией генерации исключений. |
LongStream |
stream() |
Если значение присутствует, возвращает последовательную LongStream, содержащую только это значение, в противном случае возвращает пустую LongStream. |
String |
toString() |
Возвращает строковое представление этого объекта OptionalLong, подходящее для отладки. |
Подробное описание методов
empty
public static OptionalLong empty()
OptionalLong экземпляр. Значение для этого OptionalLong отсутствует.- Примечание API:
- Хотя может быть заманчиво сделать это, избегайте проверки, пуст ли объект, сравнивая его с
==или!=с экземплярами, возвращаемымиOptionalLong.empty(). Нет гарантии, что это одиночный экземпляр. Вместо этого используйтеisEmpty()илиisPresent(). - Возвращает:
- пустой
OptionalLong.
of
public static OptionalLong of(long value)
OptionalLong, описывающий заданное значение.- Параметры:
-
value- значение для описания - Возвращает:
OptionalLongсо значением
getAsLong
public long getAsLong()
NoSuchElementException.- Примечание API:
- Предпочтительный альтернативный метод —
orElseThrow(). - Возвращает:
- значение, описанное этим
OptionalLong - Выбрасывает:
-
NoSuchElementException- если значение отсутствует
isPresent
public boolean isPresent()
true, в противном случае false.- Возвращает:
-
true, если значение присутствует, в противном случаеfalse
isEmpty
public boolean isEmpty()
true, в противном случае false.- Возвращает:
-
true, если значение отсутствует, в противном случаеfalse - С:
- 11
ifPresent
public void ifPresent(LongConsumer action)
- Параметры:
-
action- действие, которое должно быть выполнено, если значение присутствует - Выбрасывает:
-
NullPointerException- если значение присутствует, и заданное действие являетсяnull
ifPresentOrElse
public void ifPresentOrElse(LongConsumer action, Runnable emptyAction)
- Параметры:
-
action- действие, которое должно быть выполнено, если значение присутствует -
emptyAction- действие по умолчанию, которое должно быть выполнено, если значение отсутствует - Выбрасывает:
-
NullPointerException- если значение присутствует, и заданное действие являетсяnull, или значение отсутствует, а заданное действие по умолчанию являетсяnull. - С:
- 9
stream
public LongStream stream()
LongStream, содержащую только это значение, в противном случае возвращает пустой LongStream.- Примечание API:
- Этот метод можно использовать для преобразования
Streamнеобязательных long вLongStreamприсутствующих long:Stream<OptionalLong> os = .. LongStream s = os.flatMapToLong(OptionalLong::stream) - Возвращает:
- необязательное значение в виде
LongStream - С:
- 9
orElse
public long orElse(long other)
other.- Параметры:
-
other- значение, которое должно быть возвращено, если значение отсутствует - Возвращает:
- значение, если присутствует, в противном случае
other
orElseGet
public long orElseGet(LongSupplier supplier)
- Параметры:
-
supplier- функция-поставщик, которая генерирует возвращаемое значение - Возвращает:
- значение, если присутствует, в противном случае результат, полученный от функции-поставщика
- Выбрасывает:
-
NullPointerException- если значение отсутствует, и функция-поставщик являетсяnull
orElseThrow
public long orElseThrow()
NoSuchElementException.- Возвращает:
- значение, описанное этим
OptionalLong - Выбрасывает:
-
NoSuchElementException- если значение отсутствует - С:
- 10
orElseThrow
public <X extends Throwable> long orElseThrow(Supplier<? extends X> exceptionSupplier) throws X
- Примечание API:
- В качестве поставщика можно использовать ссылку на метод конструктора исключения со списком пустых аргументов. Например,
IllegalStateException::new - Параметры типа:
X- Тип исключения, которое будет выброшено- Параметры:
-
exceptionSupplier- функция-поставщик, которая генерирует исключение - Возвращает:
- значение, если присутствует
- Выбрасывает:
-
X- если значение отсутствует -
NullPointerException- если значение отсутствует и функция-поставщик исключений являетсяnull
equals
public boolean equals(Object obj)
OptionalLong. Другой объект считается равным, если: - он также является
OptionalLong; - оба экземпляра не имеют значения, или;
- текущие значения "равны" друг другу по
==.
hashCode
toString
public String toString()
OptionalLong, подходящую для отладки. Точный формат представления не определен и может различаться между реализациями и версиями.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/OptionalLong.html