enum Color {RED, GREEN, BLUE};
class SwitchEnum
{
public static void main(String[] args)
{
Color c = Color.GREEN;
switch(c)
{
case RED:
System.out.println("red");
break;
case GREEN:
System.out.println("green");
break;
case BLUE:
System.out.println("blue");
break;
}
}
}
Il codice precedente compila bene e fornisce l'output previsto.riferimento enumerazione in caso di interruzione
La mia domanda è il motivo per cui durante la creazione del riferimento colore "c", era necessario fare riferimento al nome dell'enum (ad esempio Color.GREEN), ma nel blocco del caso era sufficiente solo il valore enum. Non dovrebbe essere stato
case Color.RED:
ecc ???
+1 Infatti * è * necessario utilizzare la scorciatoia. Vedi [questo interessante post] (http://stackoverflow.com/q/8481635/697449) per esempio. –
@Paul: un'etichetta della cassetta degli interruttori enum ** DEVE ** essere il nome _qualificato_di una costante enum. thnx ... capito ... – WickeD