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