🚀 Разбираемся с Optional в Java: избегаем NullPointerException!



Привет, друзья! Сегодня хочу поговорить о Optional, который помогает нам избежать NullPointerException и делает код чище.

❓ Что такое Optional?
Optional<T> — это контейнер, который может содержать значение типа T или быть пустым. Это альтернатива null, которая явно указывает, что значение может отсутствовать.

🔥 Как использовать?

1️⃣ Создание Optional:
Optional<String> optional = Optional.of("Hello, Java!");
⚠️ Если передать null, будет NullPointerException.

2️⃣ Создание пустого Optional:
Optional<String> emptyOptional = Optional.empty();

3️⃣ Обёртка для возможного null:
Optional<String> nullableOptional = Optional.ofNullable(null);
Если передать null, Optional не упадёт, а просто будет пустым.

4️⃣ Проверка наличия значения:
optional.isPresent(); // true
optional.isEmpty(); // falseНо лучше использовать ifPresent:
optional.ifPresent(value -> System.out.println(value));


5️⃣ Получение значения с orElse:
String result = optional.orElse("Значение по умолчанию");

6️⃣ Получение с orElseGet:
String result = optional.orElseGet(() -> "Вычисленное значение");

7️⃣ Исключение, если значения нет:
String result = optional.orElseThrow(() -> new RuntimeException("Значение отсутствует!"));

8️⃣ Фильтрация:
Optional<String> filtered = optional.filter(val -> val.startsWith("Hello"));

9️⃣ Трансформация с map:
Optional<Integer> length = optional.map(String::length);

🔚 Итог:
Optional — мощный инструмент, но не стоит злоупотреблять им везде. Используйте его в возвращаемых значениях, но не в полях и параметрах методов.

👉 @BookJava
Просмотры: 1 661
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти