Spec-Zone.ru › OpenJDK 21

Класс OptionalLong

java.lang.Object
java.util.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(Object obj)
Указывает, является ли другой объект «равным» этому объекту OptionalLong.
long getAsLong()
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException.
int hashCode()
Возвращает хэш-код значения, если оно присутствует, иначе 0 (ноль), если значение отсутствует.
void ifPresent(LongConsumer action)
Если значение присутствует, выполняет данное действие со значением, иначе ничего не делает.
void ifPresentOrElse(LongConsumer action, Runnable emptyAction)
Если значение присутствует, выполняет данное действие со значением, иначе выполняет данное действие для пустого случая.
boolean isEmpty()
Если значение отсутствует, возвращает true, иначе false.
boolean isPresent()
Если значение присутствует, возвращает true, иначе false.
static OptionalLong of(long value)
Возвращает OptionalLong, описывающий данное значение.
long orElse(long other)
Если значение присутствует, возвращает значение, иначе возвращает other.
long orElseGet(LongSupplier supplier)
Если значение присутствует, возвращает значение, иначе возвращает результат, полученный от поставщика функции.
long orElseThrow()
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException.
<X extends Throwable>
long
orElseThrow(Supplier<? extends X> exceptionSupplier)
Если значение присутствует, возвращает значение, иначе выбрасывает исключение, сгенерированное функцией-поставщиком исключений.
LongStream stream()
Если значение присутствует, возвращает последовательный LongStream, содержащий только это значение, иначе возвращает пустой LongStream.
String toString()
Возвращает строку, не содержащую пустых символов, представляющую это OptionalLong, подходящую для отладки.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

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 опциональных длинных значений в LongStream присутствующих длинных значений:

     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;
  • оба экземпляра не содержат значения или;
  • присутствующие значения "равны" друг другу через ==.
Переопределяет:
equals в классе Object
Параметры:
obj - объект, подлежащий проверке на равенство
Возвращает:
true если другой объект "равен" этому объекту, в противном случае false
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код значения, если оно присутствует, в противном случае 0 (ноль) если значение отсутствует.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода присутствующего значения или 0 если значение отсутствует
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Возвращает непустое строковое представление этого OptionalLong, подходящее для отладки. Точный формат представления не определён и может отличаться в разных реализациях и версиях.
Переопределяет:
toString в классе Object
Требования реализации:
Если значение присутствует, результат должен включать его строковое представление. Пустые и присутствующие OptionalLong должны быть недвусмысленно различимы.
Возвращает:
строковое представление этого экземпляра

© 1993, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/OptionalLong.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API