Spec-Zone.ru › OpenJDK 25

Класс OptionalInt

java.lang.Object
java.util.OptionalInt
public final class OptionalInt extends Object
Объект-контейнер, который может содержать или не содержать значение типа int. Если значение присутствует, isPresent() возвращает true. Если значение отсутствует, объект считается пустым, а isPresent() возвращает false.

Предусмотрены дополнительные методы, поведение которых зависит от наличия или отсутствия содержащегося значения, например orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).

Это класс-значение; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в будущей версии синхронизация может не сработать.

Примечание к API:
OptionalInt предназначен в первую очередь для использования в качестве типа возвращаемого значения метода, когда необходимо явно представить «отсутствие результата». Переменная типа OptionalInt никогда не должна сама быть null; она всегда должна ссылаться на экземпляр OptionalInt.
Начиная с версии:
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, подходящее для отладки.

Методы, объявленные в классе 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(Object)

toString

public String toString()
Возвращает непустое строковое представление этого OptionalInt, подходящее для отладки. Точный формат представления не определён и может различаться в разных реализациях и версиях.
Переопределяет:
toString в классе Object
Требования к реализации:
Если значение присутствует, результат должен включать его строковое представление. Пустые и содержащие значение OptionalInt должны однозначно различаться.
Возвращает:
строковое представление этого экземпляра

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/OptionalInt.html

Spec-Zone.ru

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