Caso null in switch
Gestisci null direttamente come caso di uno switch — nessuna guardia separata necessaria.
Confronto Codice
✕ 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";
};
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Esplicito
La gestione del null è visibile direttamente nello switch.
Nessuna NPE
Lo switch su un valore null non lancerà NullPointerException.
Tutto-in-uno
Tutti i casi incluso null in un singolo switch.
Approccio Vecchio
Guardia prima dello switch
Approccio Moderno
case null
Dal JDK
21
Difficoltà
Principiante
Supporto JDK
Caso null in switch
Disponibile
Ampiamente disponibile dal JDK 21 LTS (settembre 2023)
Come funziona
Lo switch con pattern matching può corrispondere a null come etichetta case. Questo elimina la necessità di un controllo null prima dello switch e rende la gestione del null esplicita e visibile.
Documentazione Correlata