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 — мощный инструмент, но не стоит злоупотреблять им везде. Используйте его в возвращаемых значениях, но не в полях и параметрах методов.📲 Мы в MAX
👉@BookJava