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()은 nullable 값을 체이닝하면서 첫 번째 null에서 단락 평가합니다. orElse()는 기본값을 제공합니다. 이를 통해 피라미드형 null 확인을 제거합니다.

공유 𝕏 🦋 in