Класс OptionalLong

public final class OptionalLong
extends Object

Объект-контейнер, который может или не может содержать значение long. Если значение присутствует, метод isPresent() возвращает true. Если значение отсутствует, объект считается пустым, и метод isPresent() возвращает false.

Предоставляются дополнительные методы, зависящие от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).

Это класс значение-основанный; использование операций, чувствительных к идентичности (включая равенство ссылок (==), хэш-код идентичности или синхронизацию) над экземплярами OptionalLong может привести к непредсказуемым результатам и должно быть избегаемо.

Примечание API:
OptionalLong предназначен в первую очередь для использования в качестве типа возвращаемого значения метода, где существует явная необходимость представить «отсутствие результата». Переменная типа OptionalLong никогда не должна сама быть null; она всегда должна указывать на экземпляр OptionalLong.
С:
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(). Нет гарантии, что это одиночный экземпляр. Вместо этого используйте 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 extends Throwable

Если значение присутствует, возвращает значение, в противном случае выбрасывает исключение, сгенерированное функцией-поставщиком исключений.

Примечание API:
В качестве поставщика исключений можно использовать ссылку на метод-конструктор исключения с пустым списком аргументов. Например, IllegalStateException::new
Параметры типа:
X - Тип исключения, которое будет выброшено
Параметры:
exceptionSupplier - функция-поставщик исключений
Возвращает:
значение, если присутствует
Выбрасывает:
X - если значение отсутствует
NullPointerException - если значение отсутствует и функция-поставщик исключений null
X extends Throwable

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, 2020, 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/11/docs/api/java.base/java/util/OptionalLong.html

Spec-Zone .ru
спецификации, руководства, описания, API