Switch jako wyrażenie zwracające wartość — bez break, bez fall-through.
Porównanie kodu
✕ Java 8
String msg;
switch (day) {
case MONDAY:
msg = "Start";
break;
case FRIDAY:
msg = "End";
break;
default:
msg = "Mid";
}
✓ Java 14+
String msg = switch (day) {
case MONDAY -> "Start";
case FRIDAY -> "End";
default -> "Mid";
};
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Zwraca wartość
Przypisz wynik switch bezpośrednio — żadnej zmiennej tymczasowej nie potrzeba.
Brak fall-through
Składnia strzałkowa eliminuje przypadkowe błędy fall-through spowodowane brakującym break.
Sprawdzanie wyczerpywalności
Kompilator zapewnia, że wszystkie przypadki są obsłużone.
Stare podejście
Instrukcja switch
Nowoczesne podejście
Wyrażenie switch
Od JDK
14
Poziom trudności
Początkujący
Wsparcie JDK
Wyrażenia switch
Dostępne
Szeroko dostępne od JDK 14 (marzec 2020)
Jak to działa
Wyrażenia switch zwracają wartość bezpośrednio, używają składni strzałkowej aby zapobiec błędom fall-through, a kompilator weryfikuje wyczerpywalność. Zastępuje podatną na błędy formę instrukcji.
Powiązana dokumentacja
Dowód