Java 8 — необязательный класс
Необязательный объект-контейнер, используемый для хранения ненулевых объектов. Необязательный объект используется для представления null с отсутствующим значением. Этот класс имеет различные служебные методы, облегчающие коду обработку значений как «доступных» или «недоступных» вместо проверки нулевых значений. Он появился в Java 8 и похож на опциональный в Guava.
Объявление класса
Ниже приведено объявление для java.util.Optional
public final class Optional<T> extends Object
Метод класса
| Сер.№ | Метод и описание |
|---|---|
| 1 | <тд>|
| 2 | <тд>|
| 3 | <тд>|
| 4 | <тд>|
| 5 | <тд>|
| 6 | <тд>|
| 7 | <тд>|
| 8 | <тд>|
| 9 | <тд>|
| 10 | <тд>|
| 11 | <тд>|
| 12 | <тд>|
| 13 | <тд>|
| 14 | <тд>|
| 15 | <тд>
Этот класс наследует методы от следующего класса —
- java.lang.Объект
Необязательный пример
Создайте следующую программу Java, используя любой редактор по вашему выбору, например, C:\> JAVA.
Java8Tester.java
Живая демонстрация
import java.util.Optional;
public class Java8Tester {
public static void main(String args[]) {
Java8Tester java8Tester = new Java8Tester();
Integer value1 = null;
Integer value2 = new Integer(10);
//Optional.ofNullable - allows passed parameter to be null.
Optional<Integer> a = Optional.ofNullable(value1);
//Optional.of - throws NullPointerException if passed parameter is null
Optional<Integer> b = Optional.of(value2);
System.out.println(java8Tester.sum(a,b));
}
public Integer sum(Optional<Integer> a, Optional<Integer> b) {
//Optional.isPresent - checks the value is present or not
System.out.println("First parameter is present: " + a.isPresent());
System.out.println("Second parameter is present: " + b.isPresent());
//Optional.orElse - returns the value if present otherwise returns
//the default value passed.
Integer value1 = a.orElse(new Integer(0));
//Optional.get - gets the value, value should be present
Integer value2 = b.get();
return value1 + value2;
}
}
Проверьте результат
Скомпилируйте класс, используя javac компилятор следующим образом —
C:\JAVA>javac Java8Tester.java
Теперь запустите Java8Tester следующим образом —
C:\JAVA>java Java8Tester
Он должен произвести следующий вывод —
First parameter is present: false Second parameter is present: true 10
java