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