Как использовать Optional в Java? - PullRequest
3 голосов
/ 28 мая 2020

У меня есть служба, которая запрашивает список купонов из базы данных. Эта служба возвращает клиенту Optional.

return listOfCoupons.isEmpty() ? Optional.empty() : Optional.of(listOfCoupons.get(listOfCoupons.size() - 1));

И клиент этого кода использует Optional с именем «купоны» следующим образом:

if (coupons.isPresent) {
   save (coupons.get());
} 

Это правильное использование Optional?

1 Ответ

6 голосов
/ 29 мая 2020

Ваше использование Optional<T> API выглядит хорошо издалека, так как я не вижу никакого злоупотребления им. если бы я придирался к мелочам и предлагал что-то, я бы изменил:

if (coupons.isPresent) {
   save (coupons.get());
} 

на:

coupons.ifPresent(c -> save(c)); //or method reference

, но опять же, это действительно не по вкусу.

...