Класс OptionalInt
- java.lang.Object
-
- java.util.OptionalInt
public final class OptionalInt extends Object
Объект-контейнер, который может или не может содержать значение int. Если значение присутствует, isPresent() вернёт true, а getAsInt() вернёт значение.
Предоставляются дополнительные методы, которые зависят от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет блок кода, если значение присутствует).
Это класс с основой на значении; использование операций, чувствительных к идентичности (включая равенство ссылок (==), идентификационный код хэша или синхронизация) на экземплярах OptionalInt может привести к непредсказуемым результатам и должно быть избегаемо.
- Since:
- 1.8
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static OptionalInt |
empty() Возвращает пустой экземпляр |
boolean |
equals(Object obj) Указывает, является ли другой объект "равным" этому OptionalInt. |
int |
getAsInt() Если значение присутствует в этом |
int |
hashCode() Возвращает значение хэш-кода присутствующего значения, если есть, или 0 (ноль), если значение отсутствует. |
void |
ifPresent(IntConsumer consumer) Принимает указанный обработчик для значения, если значение присутствует, в противном случае ничего не делает. |
boolean |
isPresent() Возвращает |
static OptionalInt |
of(int value) Возвращает |
int |
orElse(int other) Возвращает значение, если оно присутствует, в противном случае возвращает |
int |
orElseGet(IntSupplier other) Возвращает значение, если оно присутствует, в противном случае вызывает |
<X extends Throwable> |
orElseThrow(Supplier<X> exceptionSupplier) Возвращает содержащееся значение, если оно присутствует, в противном случае выбрасывает исключение, созданное предоставленным поставщиком. |
String |
toString() Возвращает строковое представление объекта. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
empty
public static OptionalInt empty()
Возвращает пустой экземпляр OptionalInt. Значение для этого OptionalInt отсутствует.
- API Note:
- Хотя может быть соблазнительно сделать это, избегайте проверки, пуст ли объект, сравнивая с
==с экземплярами, возвращаемымиOption.empty(). Нет гарантии, что это одиночный объект. Вместо этого используйтеisPresent(). - Returns:
- пустой экземпляр
OptionalInt
of
public static OptionalInt of(int value)
Возвращает OptionalInt с указанным присутствующим значением.
- Parameters:
-
value- значение, которое должно присутствовать - Returns:
OptionalIntс присутствующим значением
getAsInt
public int getAsInt()
Если значение присутствует в этом OptionalInt, возвращает значение, в противном случае выбрасывает NoSuchElementException.
- Returns:
- значение, содержащееся в этом
OptionalInt - Throws:
-
NoSuchElementException- если значение не присутствует - See Also:
isPresent()
isPresent
public boolean isPresent()
Возвращает true, если значение присутствует, в противном случае false.
- Returns:
-
true, если значение присутствует, в противном случаеfalse
ifPresent
public void ifPresent(IntConsumer consumer)
Принимает указанный обработчик для значения, если значение присутствует, в противном случае ничего не делает.
- Parameters:
-
consumer- блок, который будет выполнен, если значение присутствует - Throws:
-
NullPointerException- если значение присутствует иconsumerравно null
orElse
public int orElse(int other)
Возвращает значение, если оно присутствует, в противном случае возвращает other.
- Parameters:
-
other- значение, которое должно быть возвращено, если значение не присутствует - Returns:
- значение, если присутствует, в противном случае
other
orElseGet
public int orElseGet(IntSupplier other)
Возвращает значение, если оно присутствует, в противном случае вызывает other и возвращает результат этого вызова.
- Parameters:
-
other-IntSupplier, результат которого возвращается, если значение не присутствует - Returns:
- значение, если присутствует, в противном случае результат
other.getAsInt() - Throws:
-
NullPointerException- если значение не присутствует иotherравно null
orElseThrow
public <X extends Throwable> int orElseThrow(Supplier<X> exceptionSupplier)
throws X extends Throwable Возвращает содержащееся значение, если оно присутствует, в противном случае выбрасывает исключение, созданное предоставленным поставщиком.
- API Note:
- В качестве поставщика можно использовать ссылку на метод конструктора исключения с пустым списком аргументов. Например,
IllegalStateException::new - Type Parameters:
-
X- Тип исключения, которое должно быть выброшено - Parameters:
-
exceptionSupplier- Поставщик, который вернёт исключение, которое должно быть выброшено - Returns:
- настоящее значение
- Throws:
-
X- если значение не присутствует -
NullPointerException- если значение не присутствует иexceptionSupplierравно null X extends Throwable
equals
public boolean equals(Object obj)
Указывает, является ли другой объект "равным" этому OptionalInt. Другой объект считается равным, если:
- он также является
OptionalInt; - оба экземпляра не имеют значения или;
- присутствующие значения равны друг другу по
==.
- Overrides:
-
equalsв классеObject - Parameters:
-
obj- объект, который должен быть протестирован на равенство - Returns:
-
{code true} если другой объект "равен" этому объекту, иначе
false - See Also:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает значение хэш-кода присутствующего значения, если есть, или 0 (ноль), если значение отсутствует.
- Overrides:
-
hashCodeв классеObject - Returns:
- значение хэш-кода присутствующего значения или 0, если значение отсутствует
- See Also:
-
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.