Класс Optional в Java

Класс Optional был представлен в Java 8. Цель его использования — помощь разработчикам в обработке NullPointerException. Так, Optional позволяет не назначать полям класса значения null.

Есть несколько вариантов создания объект класса Optional :

  • создание пустого объекта путём вызова статического метода empty() — Optional<T> empty = Optional.empty();
  • вызов статического метода of() . Пример :
String name = "somestring";
Optional<String> opt = Optional.of(name);

Но аргумент, переданный в метод of(), не должен быть  null, иначе будет NullPointerException. На этот случай есть ещё один вариант создания объекта класса Optional :

  • вызов статического метода ofNullable() . Пример :
String name = null;
Optional<String> opt = Optional.ofNullable(name);

В этом примере не будет выброшено NullPointerException, а будет возвращён пустой объект Optional.

Проверить, есть ли значение в объекте класса Optional, можно путём вызова метода isPresent(), который возвращает true, если значение не null.

Метод ifPresent() позволяет выполнять заданный код в том случае, если value не null. Сигнатура метода — ifPresent(Consumer<? super T> consumer). Например :

Optional<String> opt = Optional.of("somestring");
opt.ifPresent(name -> System.out.println(name.length()));

Вперед

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *