Spec-Zone.ru › OpenJDK 24

Класс OptionalInt

java.lang.Object
java.util.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(Object obj)
Указывает, является ли другой объект "равным" этому экземпляру OptionalInt.
int getAsInt()
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException.
int hashCode()
Возвращает хэш-код значения, если оно присутствует, в противном случае 0 (ноль), если значение отсутствует.
void ifPresent(IntConsumer action)
Если значение присутствует, выполняет заданное действие со значением, иначе ничего не делает.
void ifPresentOrElse(IntConsumer action, Runnable emptyAction)
Если значение присутствует, выполняет заданное действие со значением, иначе выполняет заданное действие для пустого значения.
boolean isEmpty()
Если значение отсутствует, возвращает true, в противном случае false.
boolean isPresent()
Если значение присутствует, возвращает true, в противном случае false.
static OptionalInt of(int value)
Возвращает OptionalInt, описывающую данное значение.
int orElse(int other)
Если значение присутствует, возвращает значение, в противном случае возвращает other.
int orElseGet(IntSupplier supplier)
Если значение присутствует, возвращает значение, иначе возвращает результат, полученный от функции-поставщика.
int orElseThrow()
Если значение присутствует, возвращает значение, иначе выбрасывает NoSuchElementException.
<X extends Throwable>
int
orElseThrow(Supplier<? extends X> exceptionSupplier)
Если значение присутствует, возвращает значение, иначе выбрасывает исключение, сгенерированное функцией-поставщиком исключений.
IntStream stream()
Если значение присутствует, возвращает последовательный IntStream, содержащий только это значение, в противном случае возвращает пустой IntStream.
String toString()
Возвращает строковое представление этого объекта OptionalInt, подходящее для отладки.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

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 и;
  • оба экземпляра не содержат значения или;
  • настоящие значения "равны" друг другу через ==.
Переопределяет:
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()
Возвращает непустое строковое представление этого OptionalInt, подходящее для отладки. Точный формат представления не определен и может отличаться между реализациями и версиями.
Переопределяет:
toString в классе Object
Требования к реализации:
Если значение присутствует, результат должен включать его строковое представление в результате. Пустые и присутствующие 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API