Когда использовать Optional в Java

Класс java.util.Optional появился ещё в Java 8. Я уже описывал его применение в одной из прошлых статей. И даже в ещё одной. Но в каких случаях нам нужно использовать Optional? Ведь мы жили столько лет без неё.

В JavaDoc-ах точно сказано, что класс Optional создан в первую очередь для использования в качестве возвращаемого значения для методов, которые могут вернуть null.

Не стоит принимать Optional в качестве параметра. Вот так не нужно:

Почему не нужно принимать его в качестве параметра? Всё очень просто. Если мы будем принимать Optional в качестве параметра метода, то нам придётся вставлять дополнительные проверки в метод. Вместо одной проверки на null нам придётся проверять на null и пустой Optional без значения.