Objects.requireNonNullElse()
Pobierz wartość nie-null z przejrzystą wartością domyślną, bez operatora trójkowego.
Porównanie kodu
✕ 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ć.
Dlaczego nowoczesne podejście wygrywa
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
Wsparcie JDK
Objects.requireNonNullElse()
Dostępne
Szeroko dostępne od JDK 9 (wrzesień 2017)
Jak to działa
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.
Powiązana dokumentacja
Dowód