Objects.requireNonNullElse()
Einen Non-null-Wert mit einem klaren Standardwert ermitteln – kein ternärer Operator nötig.
Code-Vergleich
✕ Java 8
String name = input != null
? input
: "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
.requireNonNullElse(
input, "default"
);
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Klare Absicht
Der Methodenname beschreibt genau, was er tut.
Null-sicherer Standardwert
Auch der Standardwert wird auf null geprüft.
Lesbar
Besser als ein ternärer Operator für einfache Null-oder-Standard-Logik.
Alter Ansatz
Ternäre Null-Prüfung
Moderner Ansatz
requireNonNullElse()
Seit JDK
9
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Objects.requireNonNullElse()
Verfügbar
Seit JDK 9 allgemein verfügbar (Sept. 2017)
Wie es funktioniert
requireNonNullElse gibt das erste Argument zurück, wenn es nicht null ist, andernfalls das zweite. Der Standardwert selbst darf nicht null sein – bei zwei null-Werten wird eine NPE geworfen, was Fehler frühzeitig aufdeckt.
Zugehörige Dokumentation