null-Fall im switch
null direkt als switch-Fall behandeln – keine separate Absicherung nötig.
Code-Vergleich
✕ Java 8
// Must check before switch
if (status == null) {
return "unknown";
}
return switch (status) {
case ACTIVE -> "active";
case PAUSED -> "paused";
default -> "other";
};
✓ Java 21+
return switch (status) {
case null -> "unknown";
case ACTIVE -> "active";
case PAUSED -> "paused";
default -> "other";
};
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Explizit
Die null-Behandlung ist direkt im switch sichtbar.
Kein NPE
Ein Switch auf einen null-Wert wirft keine NullPointerException.
Alles in einem
Alle Fälle einschließlich null in einem einzigen Switch-Ausdruck.
Alter Ansatz
Prüfung vor dem Switch
Moderner Ansatz
case null
Seit JDK
21
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
null-Fall im switch
Verfügbar
Seit JDK 21 LTS allgemein verfügbar (Sept. 2023)
Wie es funktioniert
Pattern-Matching-Switch kann null als case-Label abgleichen. Dadurch entfällt die Null-Prüfung vor dem switch, und die Null-Behandlung wird explizit und sichtbar.
Zugehörige Dokumentation