значения? В каких ситуациях он используется?
Ну замена null
public Optional<UserEntity> searchUserByName(String name) { if (name == null) { return Optional.empty(); } else { // do some; return Optional.of(result); } }
Ну так в этом и суть, ты этим гарантируешь что там не null будет и соответственно никаких проверок не нужно будет делать в другом месте программы где ты будешь использовать это значение
Проверки как раз обязательно делать
Как раз в случае Optional.of не нужно, потому что гарантируется что там есть значение отличное от null В этом его смысл
Если вызвать обычный get у пустого Optional, то будет NoSuchElementException
Есть optional.emty и Optional.ofNullable
Для этого есть ofNullable()
Нужен, когда ты хочешь воспользоваться функционалом Optional (например .map() или .filter() и тд), но у тебя уже есть какой-то объект и тебе нет необходимости проверять его на null. Там можно цепочками вызовов писать, как стримы
Понял, спасибо
Обсуждают сегодня