View Full Version : [JAVA] - utilizzo pratico degli "enum"
Sto affrontando da poco l'argomento "enum"; ho capito cosa sono (più o meno...), ma non riesco ancora a capirne l'utilizzo pratico.
Cioè, ciò che posso fare con gli enum, volendo lo potrei fare anche con delle normali costanti intere dichiarate all'interno di una classe, o addirittura con degli array.
Quindi a che pro usare gli enum?
Il problema risolto dagli enumerativi è questo:
int AVANTI = 0
int INDIETRO = 1
void muovi(int direzione) { ... }
Posso dire "muovi(756)" ? Sì. E' una bella cosa? Quasi certamente no.
Gli enumerativi ti permettono di creare degli insiemi di valori i cui elementi sono arbitrariamente limitati.
enum Direzione { AVANTI, INDIETRO }
void muovi(Direzione direzione) {...}
Qui non posso che dire muovi(AVANTI) o muovi(INDIETRO).
Passare da un intero a un enumerativo significa in buona sostanza dare più chance al compilatore di rilevare un errore nel codice. Che è idilliaco perchè se alle stupidate ci pensa lui tu ti puoi concentrare sul succo del programma.
int AVANTI = 0
int INDIETRO = 1
void muovi(int direzione) { ... }
qui in teoria potrei anche passare un parametro del tipo:
muovi (int AVANTI)
ma non sarebbe molto "bello".
Quindi, in sostanza, le enumerazioni non sono una vera e propria necessità, ma più una comodità, giusto?
Cioè, è preferibile utilizzarle per motivi di leggibilità?
banryu79
28-01-2011, 09:09
A ciò che ha sottolineato PGI-Bis, ti allego questo articolo (http://www.mokabyte.it/2005/02/java5_enum.htm), secondo me sintetico e molto chiaro (almeno io l'ho trovato più chiaro del tutorial Java ufficiale sulle enum).
ok, leggendo anche l'articolo che mi hai consigliato penso di poter concludere che una enumerazione permette di:
definire insiemi finiti determinare un tipo specifico anziché delle semplici costanti numeriche usare una sintassi piu compatta per creare oggetti di un insieme finito
Dimentico qualcosa?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.