Класс Optional
Класс Optional - это контейнер, который может содержать
значение типа T или быть пустым. Он был добавлен в Java 8
для борьбы с ошибками NullPointerException. Вместо того чтобы
возвращать null, методы могут возвращать объект Optional,
который явно говорит о возможном отсутствии значения.
Класс является final и неизменяемым.
Синтаксис
Optional<T> optional = Optional.of(value);
Optional<T> optional = Optional.ofNullable(value);
Optional<T> optional = Optional.empty();
Пример
Создадим непустой объект Optional и получим из него значение:
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
Optional<String> opt = Optional.of("abcde");
System.out.println(opt.get());
}
}
Результат выполнения кода:
"abcde"
Пример
Создадим пустой объект Optional и проверим его наличие:
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
Optional<String> opt = Optional.empty();
System.out.println(opt.isPresent());
System.out.println(opt.isEmpty());
}
}
Результат выполнения кода:
false
true
Пример
Используем метод orElse для возврата значения по умолчанию:
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
Optional<String> opt = Optional.ofNullable(null);
String res = opt.orElse("default");
System.out.println(res);
}
}
Результат выполнения кода:
"default"
Смотрите также
-
метод
of,
который создает Optional с непустым значением -
метод
ofNullable,
который создает Optional с возможным null -
метод
empty,
который создает пустой Optional -
метод
isPresent,
который проверяет наличие значения