Enum in Java: come creare costanti nel tuo codice

Enum in Java ti permette di creare variabili con valori definiti. Queste variabili vengono scritte in lettere maiuscole e non possono essere modificate successivamente. Il loro scopo è migliorare la logica e la leggibilità del tuo codice e contribuiscono quindi al Clean Code.

Che cosa contraddistingue enum in Java?

In Java, il termine “enum” indica un tipo di dati utilizzabile all’interno di una classe convenzionale, ma che si distingue da essa soprattutto per un aspetto. Enum è infatti un genere di variabile che dispone di opzioni per i valori internamente definite, fissate e quindi limitate. Questa classe comprende quindi costanti che impediscono di utilizzare valori indesiderati all’interno del codice. Questa funzionalità garantisce la struttura logica del codice e aumenta la sua leggibilità. Il termine “enum” è in pratica l’abbreviazione della parola “enumerazione”.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax

La sintassi di enum in Java

La struttura della sintassi di enum in Java è sempre identica e si presenta così:

enum Nome_della_classe {
	VALORE1,
	VALORE2,
	VALORE3
}
java

Per definire questa classe devi iniziare quindi con la parola chiave “enum”, da utilizzare al posto di “class” o “interface”. Successivamente devi assegnare un nome alla classe speciale e indicare fra parentesi graffe le costanti consentite che desideri utilizzare. Le costanti vanno scritte sempre in lettere maiuscole e separate da virgole.

Esempio di classe speciale

Un possibile esempio di enum in Java è un elenco dei mesi. L’elenco contiene solo dodici valori possibili, che puoi creare come costanti. Se in futuro ti servirà una variabile del tipo “Mesi”, potrai utilizzare esclusivamente le costanti definite. Il codice per questo esempio si presenta nel modo seguente:

enum Mesi {
	GENNAIO,
	FEBBRAIO,
	MARZO,
	APRILE,
	MAGGIO,
	GIUGNO,
	LUGLIO,
	AGOSTO,
	SETTEMBRE,
	OTTOBRE,
	NOVEMBRE,
	DICEMBRE
}
java

A questo punto, per dichiarare una variabile del tipo “Mesi” devi assegnarle un valore e utilizzare il comando Java System.out.println per visualizzarla. Il codice si presenta così:

public class Main {
	public static void main(String[] args) {
Mesi mese = Mesi.APRILE;
System.out.println(monat);
	}
}
java

Enum in Java all’interno di una classe

È possibile utilizzare enum in Java anche all’interno di una classe. Per il nostro esempio precedente il codice si presenterebbe così:

public class Main {
	enum Mesi {
	GENNAIO,
	FEBBRAIO,
	MARZO,
	APRILE,
	MAGGIO,
	GIUGNO,
	LUGLIO,
	AGOSTO,
	SETTEMBRE,
	OTTOBRE,
	NOVEMBRE,
	DICEMBRE
}
		public static void main(String[] args) {
Mesi mese = Mesi.APRILE;
System.out.println(monat);
		}
}
java

Il metodo values per l’interrogazione di tutte le costanti

Se desideri visualizzare tutti i valori disponibili, il metodo values() fa al caso tuo. Le costanti sono visualizzate sotto forma di array. Nel nostro esempio il codice sarebbe:

enum Mesi {
	GENNAIO,
	FEBBRAIO,
	MARZO,
	APRILE,
	MAGGIO,
	GIUGNO,
	LUGLIO,
	AGOSTO,
	SETTEMBRE,
	OTTOBRE,
	NOVEMBRE,
	DICEMBRE
}
public class Main {
	public static void main(String[] args) {
for (Mesi mese : Mesi.values()) {
System.out.println(monat);
		}
	}
}
java

Enum in Java con switch

È possibile combinare enum in Java anche con altri metodi. Un esempio di combinazione con switch() si presenterebbe così:

enum Mesi {
	GENNAIO,
	FEBBRAIO,
	MARZO,
	APRILE,
	MAGGIO,
	GIUGNO,
	LUGLIO,
	AGOSTO,
	SETTEMBRE,
	OTTOBRE,
	NOVEMBRE,
	DICEMBRE
}
public class Main {
	public static void main(String[] args) {
		Mesi mese = Mesi.APRILE;
switch (mese) {
case APRILE:
System.out.println("La piscina esterna è chiusa.");
break;
case MAGGIO:
System.out.println("La piscina esterna è chiusa.");
break;
case GIUGNO:
System.out.println("La piscina esterna è a vostra disposizione!");
break;
// Ora puoi sperimentare questo metodo per tutti i mesi.
		}
	}
}
java
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top