Класс 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 |
Возвращает OptionalLong, описывающий данное значение. |
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опциональных длинных значений в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 - См. также:
hashCode
public int hashCode()
0 (ноль) если значение отсутствует.- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хеш-кода присутствующего значения или
0если значение отсутствует - См. также:
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