Errors Początkujący

Pobierz wartość nie-null z przejrzystą wartością domyślną, bez operatora trójkowego.

✕ Java 8
String name = input != null
    ? input
    : "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
    .requireNonNullElse(
        input, "default"
    );
Widzisz problem z tym kodem? Daj nam znać.
📖

Jasna intencja

Nazwa metody dokładnie opisuje co robi.

🛡️

Null-bezpieczna wartość domyślna

Wartość domyślna jest również sprawdzana pod kątem null.

📏

Czytelny

Lepszy niż operator trójkowy dla prostej logiki null-lub-domyślny.

Stare podejście
Trójkowe sprawdzenie null
Nowoczesne podejście
requireNonNullElse()
Od JDK
9
Poziom trudności
Początkujący
Objects.requireNonNullElse()
Dostępne

Szeroko dostępne od JDK 9 (wrzesień 2017)

requireNonNullElse zwraca pierwszy argument jeśli nie jest null, w przeciwnym razie drugi. Wartość domyślna sama nie może być null — rzuca NPE jeśli oba są null, wykrywając błędy wcześnie.