sto usando Java 6.Java caso interruttore - Default vs esplicito l'enumerazione
Supponiamo che io ho un enum con 6 valori, ordinato dalla A alla F. Circa 4 dei valori sono stati trattati allo stesso. Potrei scrivere in questo modo.
switch (whichType) {
case A:
case B:
case C:
case D:
return task();
case E:
return someothertask();
case F:
return anothersomeothertask();
}
O come questo.
switch (whichType) {
case E:
return someothertask();
case F:
return anothersomeothertask();
default:
return task();
}
I valori nulli non raggiungeranno mai questo interruttore.
In termini di concisione e chiarezza, il secondo approccio è migliore. In termini di esplicitazione, penso che il primo approccio sia migliore.
Ci sono altri vantaggi/svantaggi di ogni approccio?
Inoltre, questa semplice domanda rischia di essere un duplicato, ma ho provato e non riuscivo a trovarlo chiesto da nessuna parte ancora. Mi scuso se non l'ho cercato abbastanza bene.
aggiungere un metodo astratto alla classe enum? – Ron
Solo per la cronaca: puoi _can_ mettere una sezione 'default' in alto, al centro, o in qualsiasi altra parte all'interno di' switch'; non deve essere in fondo. –
@ ChrisJester-Young Ma alcuni analizzatori di codici statici vietano il posizionamento di default in posizioni non di fondo. – mjafari