Errors Начинающий

Замена вложенных проверок null на конвейер Optional.

✕ Java 8
String city = null;
if (user != null) {
    Address addr = user.getAddress();
    if (addr != null) {
        city = addr.getCity();
    }
}
if (city == null) city = "Unknown";
✓ Java 9+
String city = Optional.ofNullable(user)
    .map(User::address)
    .map(Address::city)
    .orElse("Unknown");
Заметили проблему в этом коде? Сообщите нам.
🔗

Цепочки

Каждый шаг .map() прозрачно обрабатывает null.

📖

Линейный поток

Чтение слева направо вместо вложенных блоков if.

🛡️

Защита от NPE

null обрабатывается на каждом шаге — сбои невозможны.

Старый подход
Вложенные проверки null
Современный подход
Конвейер Optional
Начиная с JDK
9
Сложность
Начинающий
Цепочки Optional
Доступно

Доступно с JDK 8+ (улучшено в 9+)

Optional.map() связывает допускающие null значения и прерывает цепочку при первом null. orElse() возвращает значение по умолчанию. Это устраняет пирамиду вложенных проверок null.