Null jako przypadek w switch
Obsługuj null bezpośrednio jako przypadek switch — bez oddzielnego warunku.
Porównanie kodu
✕ 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";
};
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Jawny
Obsługa null jest widoczna bezpośrednio w switch.
Bez NPE
Switch na wartości null nie rzuci NullPointerException.
Wszystko w jednym
Wszystkie przypadki łącznie z null w jednym wyrażeniu switch.
Stare podejście
Sprawdzenie przed switch
Nowoczesne podejście
case null
Od JDK
21
Poziom trudności
Początkujący
Wsparcie JDK
Null jako przypadek w switch
Dostępne
Szeroko dostępne od JDK 21 LTS (wrzesień 2023)
Jak to działa
Switch z dopasowaniem wzorców może dopasowywać null jako etykietę case. Eliminuje potrzebę sprawdzenia null przed switch i czyni obsługę null jawną i widoczną.
Powiązana dokumentacja
Dowód