Класс OptionalInt
- java.lang.Object
-
- java.util.OptionalInt
public final class OptionalInt extends Object
Объект-контейнер, который может или не может содержать значение int. Если значение присутствует, isPresent() возвращает true. Если значение отсутствует, объект считается пустым и isPresent() возвращает false.
Предоставляются дополнительные методы, которые зависят от наличия или отсутствия содержащегося значения, такие как orElse() (возвращает значение по умолчанию, если значение отсутствует) и ifPresent() (выполняет действие, если значение присутствует).
Это класс базируемый на значении; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), хэш-код идентичности или синхронизацию) на экземплярах OptionalInt может привести к непредсказуемым результатам и следует избегать.
- Примечание API:
-
OptionalIntпредназначен в первую очередь для использования в качестве типа возвращаемого значения метода, где явно требуется представление «отсутствия результата». Переменная, тип которойOptionalInt, никогда не должна бытьnull; она всегда должна указывать на экземплярOptionalInt. - С:
- 1.8
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static OptionalInt | empty() | Возвращает пустой экземпляр |
boolean | equals(Object obj) | Указывает, является ли другой объект «равным» этому |
int | getAsInt() | Если значение присутствует, возвращает значение, в противном случае выбрасывает |
int | hashCode() | Возвращает хэш-код значения, если оно присутствует, в противном случае |
void | ifPresent(IntConsumer action) | Если значение присутствует, выполняет заданное действие со значением, в противном случае ничего не делает. |
void | ifPresentOrElse(IntConsumer action,
Runnable emptyAction) | Если значение присутствует, выполняет заданное действие со значением, в противном случае выполняет заданное действие по отсутствию значения. |
boolean | isEmpty() | Если значение отсутствует, возвращает |
boolean | isPresent() | Если значение присутствует, возвращает |
static OptionalInt | of(int value) | Возвращает |
int | orElse(int other) | Если значение присутствует, возвращает значение, в противном случае возвращает |
int | orElseGet(IntSupplier supplier) | Если значение присутствует, возвращает значение, в противном случае возвращает результат, полученный от предоставленной функции. |
int | orElseThrow() | Если значение присутствует, возвращает значение, в противном случае выбрасывает |
<X extends Throwable> | orElseThrow(Supplier<? extends X> exceptionSupplier) | Если значение присутствует, возвращает значение, в противном случае выбрасывает исключение, сгенерированное функцией, предоставляющей исключение. |
IntStream | stream() | Если значение присутствует, возвращает последовательный |
String | toString() | Возвращает строковое представление этого |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
empty
public static OptionalInt empty()
Возвращает пустой OptionalInt экземпляр. Значение для этого OptionalInt отсутствует.
- Примечание API:
- Хотя может быть соблазнительно сделать это, избегайте проверки, пуст ли объект, сравнивая его с
==с экземплярами, возвращаемымиOptionalInt.empty(). Нет гарантии, что это синглтон. Вместо этого используйте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 extends Throwable Если значение присутствует, возвращает значение, в противном случае бросает исключение, сгенерированное функцией-поставщиком исключений.
- Примечание API:
- В качестве поставщика можно использовать ссылку на метод конструктора исключения с пустым списком аргументов. Например,
IllegalStateException::new - Параметры типа:
-
X- Тип исключения, которое будет брошено - Параметры:
-
exceptionSupplier- функция-поставщик, которая генерирует исключение, которое будет брошено - Возвращает:
- значение, если присутствует
- Бросает:
-
X- если значение отсутствует -
NullPointerException- если значение отсутствует и функция-поставщик исключенийnull X extends Throwable
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, подходящее для отладки. Точный формат представления не определен и может отличаться в разных реализациях и версиях.
© 1993, 2020, 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/11/docs/api/java.base/java/util/OptionalInt.html