JAVAPROGLIB Telegram 6439
🔼 Улучшаем работу с Optional

Все используют Optional, но не все знают, как сделать это лучше. Нередко можно встретить такой код:
Optional<User> userOpt = findUserById(id);
if (userOpt.isPresent()) {
User user = userOpt.get();
processUser(user);
}


Такой код не только избыточен, но и может привести к NoSuchElementException, если забыть проверить isPresent(). Поэтому лучше использовать ifPresent(), чтобы оптимизировать код:
findUserById(id).ifPresent(this::processUser);

📌 Какие ещё варианты

— Для выполнения действия, если значение есть (ifPresent()).
— Для подстановки дефолтного значения (orElse() / orElseGet()).
— Для обработки исключений (orElseThrow()).

⚠️ Плохие практики

▪️ Использовать Optional в качестве аргументов методов — это ломает читаемость API.
▪️ Использовать Optional.get() без проверки — это сводит всю пользу Optional на нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍10👏3



tgoop.com/javaproglib/6439
Create:
Last Update:

🔼 Улучшаем работу с Optional

Все используют Optional, но не все знают, как сделать это лучше. Нередко можно встретить такой код:

Optional<User> userOpt = findUserById(id);
if (userOpt.isPresent()) {
User user = userOpt.get();
processUser(user);
}


Такой код не только избыточен, но и может привести к NoSuchElementException, если забыть проверить isPresent(). Поэтому лучше использовать ifPresent(), чтобы оптимизировать код:
findUserById(id).ifPresent(this::processUser);

📌 Какие ещё варианты

— Для выполнения действия, если значение есть (ifPresent()).
— Для подстановки дефолтного значения (orElse() / orElseGet()).
— Для обработки исключений (orElseThrow()).

⚠️ Плохие практики

▪️ Использовать Optional в качестве аргументов методов — это ломает читаемость API.
▪️ Использовать Optional.get() без проверки — это сводит всю пользу Optional на нет.

BY Библиотека джависта | Java, Spring, Maven, Hibernate


Share with your friend now:
tgoop.com/javaproglib/6439

View MORE
Open in Telegram


Telegram News

Date: |

Unlimited number of subscribers per channel best-secure-messaging-apps-shutterstock-1892950018.jpg Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.” 2How to set up a Telegram channel? (A step-by-step tutorial) Add up to 50 administrators
from us


Telegram Библиотека джависта | Java, Spring, Maven, Hibernate
FROM American