Espressioni switch
Switch come espressione che restituisce un valore — niente break, niente fall-through.
Confronto Codice
✕ 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";
};
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Restituisce un valore
Assegna direttamente il risultato dello switch — nessuna variabile temporanea necessaria.
Nessun fall-through
La sintassi a freccia elimina i bug da fall-through accidentale per break mancanti.
Verifica di esaustività
Il compilatore verifica che tutti i casi siano coperti.
Approccio Vecchio
Istruzione switch
Approccio Moderno
Espressione switch
Dal JDK
14
Difficoltà
Principiante
Supporto JDK
Espressioni switch
Disponibile
Ampiamente disponibile dal JDK 14 (marzo 2020)
Come funziona
Le espressioni switch restituiscono un valore direttamente, usano la sintassi a freccia per prevenire i bug da fall-through, e il compilatore verifica l'esaustività. Questo sostituisce la forma a istruzione soggetta a errori.
Documentazione Correlata