Errors Einsteiger

Einen Non-null-Wert mit einem klaren Standardwert ermitteln – kein ternärer Operator nötig.

✕ 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.
📖

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
Objects.requireNonNullElse()
Verfügbar

Seit JDK 9 allgemein verfügbar (Sept. 2017)

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.

Teilen 𝕏 🦋 in