Класс OptionalLong
- java.lang.Object
-
- java.util.OptionalLong
public final class OptionalLong extends Object
Объект-контейнер, который может или не может содержать значение. Если значение присутствует, isPresent() вернёт true и getAsLong() вернёт значение.
Предоставляются дополнительные методы, которые зависят от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет блок кода, если значение присутствует).
Это класс на основе значений; использование операций, чувствительных к идентичности (включая равенство ссылок (==), хэш-код по идентичности или синхронизацию) на экземплярах OptionalLong может привести к непредсказуемым результатам и следует избегать.
- С:
- 1.8
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static OptionalLong |
empty() Возвращает пустой экземпляр |
boolean |
equals(Object obj) Указывает, является ли другой объект "равным" этому OptionalLong. |
long |
getAsLong() Если в этом |
int |
hashCode() Возвращает хэш-код значения, если оно присутствует, или 0 (ноль), если значение отсутствует. |
void |
ifPresent(LongConsumer consumer) Заставляет указанный обработчик принять значение, если оно присутствует, в противном случае ничего не делает. |
boolean |
isPresent() Возвращает |
static OptionalLong |
of(long value) Возвращает |
long |
orElse(long other) Возвращает значение, если оно присутствует, в противном случае возвращает |
long |
orElseGet(LongSupplier other) Возвращает значение, если оно присутствует, в противном случае вызывает |
<X extends Throwable> |
orElseThrow(Supplier<X> exceptionSupplier) Возвращает содержащееся значение, если оно присутствует, в противном случае выбрасывает исключение, создаваемое предоставленным поставщиком. |
String |
toString() Возвращает строковое представление объекта. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
empty
public static OptionalLong empty()
Возвращает пустой экземпляр OptionalLong. Значение для этого OptionalLong отсутствует.
- Примечание API:
- Хотя это может показаться заманчивым, избегайте проверки, пуст ли объект, сравнивая его с
==с экземплярами, возвращаемымиOption.empty(). Нет гарантии, что это одиночка. Вместо этого используйтеisPresent(). - Возвращает:
- пустой
OptionalLong.
of
public static OptionalLong of(long value)
Возвращает OptionalLong с указанным присутствующим значением.
- Параметры:
-
value- значение, которое должно присутствовать - Возвращает:
OptionalLongс присутствующим значением
getAsLong
public long getAsLong()
Если в этом OptionalLong присутствует значение, возвращает значение, в противном случае выбрасывает NoSuchElementException.
- Возвращает:
- значение, содержащееся в этом
OptionalLong - Исключения:
-
NoSuchElementException- если значение отсутствует - См. также:
isPresent()
isPresent
public boolean isPresent()
Возвращает true если присутствует значение, в противном случае false.
- Возвращает:
-
trueесли присутствует значение, в противном случаеfalse
ifPresent
public void ifPresent(LongConsumer consumer)
Заставляет указанный обработчик принять значение, если оно присутствует, в противном случае ничего не делает.
- Параметры:
-
consumer- блок, который должен быть выполнен, если значение присутствует - Исключения:
-
NullPointerException- если значение присутствует иconsumerравно null
orElse
public long orElse(long other)
Возвращает значение, если оно присутствует, в противном случае возвращает other.
- Параметры:
-
other- значение, которое должно быть возвращено, если значение отсутствует - Возвращает:
- значение, если присутствует, в противном случае
other
orElseGet
public long orElseGet(LongSupplier other)
Возвращает значение, если оно присутствует, в противном случае вызывает other и возвращает результат вызова.
- Параметры:
-
other- поставщик, результат которого возвращается, если значение отсутствует - Возвращает:
- значение, если присутствует, в противном случае результат вызова
other.getAsLong() - Исключения:
-
NullPointerException- если значение отсутствует иotherравно null
orElseThrow
public <X extends Throwable> long orElseThrow(Supplier<X> exceptionSupplier)
throws X extends Throwable Возвращает содержащееся значение, если оно присутствует, в противном случае выбрасывает исключение, создаваемое предоставленным поставщиком.
- Примечание API:
- В качестве поставщика можно использовать ссылку на метод конструктора исключения с пустым списком аргументов. Например,
IllegalStateException::new - Параметры типа:
-
X- тип исключения, которое нужно сгенерировать - Параметры:
-
exceptionSupplier- Поставщик, который вернёт исключение для выброса - Возвращает:
- настоящее значение
- Исключения:
-
X- если значение отсутствует -
NullPointerException- если значение отсутствует иexceptionSupplierравно null X extends Throwable
equals
public boolean equals(Object obj)
Указывает, является ли другой объект "равным" этому OptionalLong. Другой объект считается равным, если:
- он также является
OptionalLong, и; - оба экземпляра не имеют значения или;
- присутствующие значения равны друг другу через
==.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект, который необходимо проверить на равенство - Возвращает:
- {code 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()
Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая "текстуально представляет" этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком. Рекомендуется переопределять этот метод во всех подклассах.
Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому относится объект, символа "@" и шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:
getClass().getName() + '@' + Integer.toHexString(hashCode())Возвращает непустое строковое представление этого объекта, подходящее для отладки. Точный формат представления не определен и может различаться в разных реализациях и версиях.
© 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.