TGViewer
Библиотека Java разработчика Библиотека Java разработчика @bookjava · 10.1K subscribers
Post #4236 1.29K
🚀 Используем Optional правильно в Java

Сегодня разберем Optional – мощный инструмент, который помогает избежать NullPointerException. Но многие используют его неправильно! Давайте посмотрим, как его применять эффективно.

❌ Как делать НЕ надо:

Optional<String> optional = Optional.ofNullable(getValue());
if (optional.isPresent()) {
System.out.println(optional.get());
}

Почему плохо?
- get() без проверки – потенциальная ловушка.
- Лишний if – можно сделать проще.

✅ Как надо:

Optional.ofNullable(getValue()).ifPresent(System.out::println);

или, если нужно значение по умолчанию:

String value = Optional.ofNullable(getValue()).orElse("Default Value");

Крутые приемы с Optional:
✔ orElseGet – лениво вычисляет значение
✔ orElseThrow – выбрасывает исключение, если Optional пуст
✔ map и flatMap – позволяют трансформировать данные

🔥 Советы:
1️⃣ Не используйте Optional для полей классов – это не сериализуемо.
2️⃣ Не передавайте Optional в аргументах методов – это антипаттерн.
3️⃣ Optional хорош для возвращаемых значений – используйте его вместо null.

Как вы используете Optional в своих проектах? Делитесь в комментариях!

📲 Мы в MAX

👉@BookJava
  • 👍 3
  • 🤔 1
More from @bookjava
  1. Sep 27, 2026🧠 Ленивая инициализация через Supplier — элегантная альтернатива double-checked locking К…
  2. Sep 23, 2026Что такое механизм try-with-resources? Механизм try-with-resources в Java — это конструкци…
  3. Sep 21, 2026📌 picocli — это современная библиотека для создания CLI-приложений на Java. Она упрощает…
  4. Sep 18, 2026Double-brace инициализация в Java — это идиома, которая используется для инициализации кол…
  5. Sep 16, 2026🧠@Value vs @ConfigurationProperties — не выбирай наобум Оба способа хороши для конфигурац…
  6. Sep 14, 2026🧠 Трюк с @EventListener в Spring — убираем лишний @TransactionalEventListener Когда тебе…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →