Класс OptionalInt
public final class OptionalInt extends Object
int. Если значение присутствует, 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и; - оба экземпляра не содержат значения или;
- присутствующие значения "равны" друг другу через
==.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект, который должен быть протестирован на равенство - Возвращает:
-
trueесли другой объект "равен" этому объекту, в противном случаеfalse - См. также:
hashCode
public int hashCode()
0 (ноль), если значение отсутствует.- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода присутствующего значения или
0если значение отсутствует - См. также:
toString
public String toString()
OptionalInt, подходящее для отладки. Точный формат представления не определен и может различаться между реализациями и версиями.- Переопределяет:
-
toStringв классеObject - Требования реализации:
- Если значение присутствует, результат должен содержать его строковое представление. Пустые и присутствующие
OptionalIntдолжны быть однозначно различимы. - Возвращает:
- строковое представление этого экземпляра
© 1993, 2023, 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/21/docs/api/java.base/java/util/OptionalInt.html