Errors 초급

삼항 연산자 없이 명확한 기본값으로 null이 아닌 값을 가져옵니다.

✕ Java 8
String name = input != null
    ? input
    : "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
    .requireNonNullElse(
        input, "default"
    );
이 코드에 문제가 있나요? 알려주세요.
📖

명확한 의도

메서드 이름이 정확히 무엇을 하는지 설명합니다.

🛡️

null 안전 기본값

기본값도 null 여부를 확인합니다.

📏

가독성

단순한 null-또는-기본값 로직에서 삼항 연산자보다 낫습니다.

이전 방식
삼항 연산자 null 확인
모던 방식
requireNonNullElse()
JDK 버전
9
난이도
초급
Objects.requireNonNullElse()
사용 가능

JDK 9 (2017년 9월) 이후 널리 사용 가능

requireNonNullElse는 첫 번째 인수가 null이 아니면 그것을, 그렇지 않으면 두 번째를 반환합니다. 기본값 자체도 null이 될 수 없으며 — 둘 다 null이면 NPE를 던져 버그를 조기에 잡습니다.

공유 𝕏 🦋 in