Класс OptionalInt
public final class OptionalInt extends Object
isPresent() возвращает true. Если значение отсутствует, объект считается пустым и метод isPresent() возвращает false. Доступны дополнительные методы, которые зависят от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).
Это класс значение; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не использовать их для синхронизации, чтобы избежать непредсказуемого поведения. Например, в будущей версии синхронизация может не сработать.
- API Note:
-
OptionalIntпредназначен в первую очередь для использования в качестве типа возвращаемого значения метода, где явно требуется представление «отсутствующего результата». Переменная, тип которойOptionalInt, никогда не должна сама бытьnull; она всегда должна указывать на экземплярOptionalInt. - Since:
- 1.8
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static OptionalInt |
empty() |
Возвращает пустой экземпляр OptionalInt. |
boolean |
equals |
Указывает, является ли другой объект "равным" этому экземпляру OptionalInt. |
int |
getAsInt() |
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException. |
int |
hashCode() |
Возвращает хэш-код значения, если оно присутствует, в противном случае 0 (ноль), если значение отсутствует. |
void |
ifPresent |
Если значение присутствует, выполняет заданное действие со значением, иначе ничего не делает. |
void |
ifPresentOrElse |
Если значение присутствует, выполняет заданное действие со значением, иначе выполняет заданное действие для пустого значения. |
boolean |
isEmpty() |
Если значение отсутствует, возвращает true, в противном случае false. |
boolean |
isPresent() |
Если значение присутствует, возвращает true, в противном случае false. |
static OptionalInt |
of |
Возвращает OptionalInt, описывающую данное значение. |
int |
orElse |
Если значение присутствует, возвращает значение, в противном случае возвращает other. |
int |
orElseGet |
Если значение присутствует, возвращает значение, иначе возвращает результат, полученный от функции-поставщика. |
int |
orElseThrow() |
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException. |
<X extends Throwable> |
orElseThrow |
Если значение присутствует, возвращает значение, иначе выбрасывает исключение, сгенерированное функцией-поставщиком исключений. |
IntStream |
stream() |
Если значение присутствует, возвращает последовательный IntStream, содержащий только это значение, в противном случае возвращает пустой IntStream. |
String |
toString() |
Возвращает строковое представление этого объекта OptionalInt, подходящее для отладки. |
Подробное описание методов
empty
public static OptionalInt empty()
OptionalInt экземпляр. Значение для этого OptionalInt отсутствует.- Примечание API:
- Несмотря на то, что это может показаться заманчивым, избегайте проверки, пустой ли объект, сравнивая его с
==или!=с экземплярами, возвращаемымиOptionalInt.empty(). Нет гарантии, что это одиночный объект. Вместо этого используйтеisEmpty()илиisPresent(). - Возвращает:
- пустой
OptionalInt
of
public static OptionalInt of(int value)
OptionalInt, описывающий заданное значение.- Параметры:
-
value- описываемое значение - Возвращает:
OptionalIntс присутствующим значением
getAsInt
public int getAsInt()
NoSuchElementException.- Примечание API:
- Предпочтительная альтернатива этому методу —
orElseThrow(). - Возвращает:
- значение, описываемое этим
OptionalInt - Исключения:
-
NoSuchElementException- если значение отсутствует
isPresent
public boolean isPresent()
true, иначе false.- Возвращает:
-
true, если значение присутствует, иначеfalse
isEmpty
public boolean isEmpty()
true, иначе false.- Возвращает:
-
true, если значение отсутствует, иначеfalse - С:
- 11
ifPresent
public void ifPresent(IntConsumer action)
- Параметры:
-
action- действие, которое должно быть выполнено, если значение присутствует - Исключения:
-
NullPointerException- если значение присутствует и заданное действие являетсяnull
ifPresentOrElse
public void ifPresentOrElse(IntConsumer action, Runnable emptyAction)
- Параметры:
-
action- действие, которое должно быть выполнено, если значение присутствует -
emptyAction- действие по умолчанию, которое должно быть выполнено, если значение отсутствует - Исключения:
-
NullPointerException- если значение присутствует и заданное действие являетсяnull, или значение отсутствует, и заданное действие по умолчанию являетсяnull. - С:
- 9
stream
public IntStream stream()
IntStream, содержащий только это значение, в противном случае возвращает пустой IntStream.- Примечание API:
- Этот метод можно использовать для преобразования
Streamнеобязательных целых чисел вIntStreamприсутствующих целых чисел:Stream<OptionalInt> os = .. IntStream s = os.flatMapToInt(OptionalInt::stream) - Возвращает:
- необязательное значение в виде
IntStream - С:
- 9
orElse
public int orElse(int other)
other.- Параметры:
-
other- значение, которое должно быть возвращено, если значение отсутствует - Возвращает:
- значение, если присутствует, в противном случае
other
orElseGet
public int orElseGet(IntSupplier supplier)
- Параметры:
-
supplier- функция-поставщик, которая генерирует возвращаемое значение - Возвращает:
- значение, если присутствует, в противном случае результат, полученный от функции-поставщика
- Исключения:
-
NullPointerException- если значение отсутствует, и функция-поставщик являетсяnull
orElseThrow
public int orElseThrow()
NoSuchElementException.- Возвращает:
- значение, описываемое этим
OptionalInt - Исключения:
-
NoSuchElementException- если значение отсутствует - С:
- 10
orElseThrow
public <X extends Throwable> int orElseThrow(Supplier<? extends X> exceptionSupplier) throws X
- Примечание API:
- В качестве поставщика можно использовать ссылку на метод конструктора исключения с пустым списком аргументов. Например,
IllegalStateException::new - Параметры типа:
X- Тип исключения, которое будет сгенерировано- Параметры:
-
exceptionSupplier- функция-поставщик, которая генерирует исключение - Возвращает:
- значение, если присутствует
- Исключения:
-
X- если значение отсутствует -
NullPointerException- если значение отсутствует, и функция-поставщик исключения являетсяnull
equals
public boolean equals(Object obj)
OptionalInt. Другой объект считается равным, если: - он также является
OptionalIntи; - оба экземпляра не содержат значения или;
- настоящие значения "равны" друг другу через
==.
hashCode
toString
public String toString()
OptionalInt, подходящее для отладки. Точный формат представления не определен и может отличаться между реализациями и версиями.
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/OptionalInt.html