Met Java-enums kunt u va­ri­a­be­len met vaste waarden maken. Deze worden in hoofd­let­ters ge­schre­ven en kunnen niet worden gewijzigd. Ze worden gebruikt om de logica en lees­baar­heid van uw code te ver­be­te­ren en kunnen u helpen om schone code te maken.

Wat zijn Java-enums?

In Java verwijst enums naar een speciaal ge­ge­vens­ty­pe dat binnen con­ven­ti­o­ne­le klassen kan worden gebruikt, maar op één be­lang­rijk punt verschilt van con­ven­ti­o­ne­le klassen. Een enum is een type variabele met specifiek ge­de­fi­ni­eer­de, vaste en dus beperkte waar­de­op­ties. Java-enums zijn con­stan­ten die voorkomen dat on­ge­wens­te waarden in de code worden gebruikt. Dit zorgt ervoor dat de structuur van de code logisch is en verhoogt de lees­baar­heid. De term ‘enum’ komt van het woord ‘enu­me­ra­ti­on’ (opsomming).

Wat is de syntaxis voor Java-enums?

De syntaxis voor Java-enums is altijd hetzelfde ge­struc­tu­reerd en ziet er als volgt uit:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java

Als u dus een enum-klasse wilt de­fi­ni­ë­ren, begint u met het sleu­tel­woord enum, dat u gebruikt in plaats van class of interface. Geef ver­vol­gens de speciale klasse een naam en plaats de gewenste toe­ge­sta­ne con­stan­ten tussen accolades. De con­stan­ten worden altijd in hoofd­let­ters ge­schre­ven en van elkaar ge­schei­den door komma’s.

Hoe maak je een klasse met enum

Een manier om Java-enums te gebruiken, is door een lijst te maken met de maanden van het jaar. Zo’n lijst zou slechts twaalf mogelijke waarden bevatten. Als er op een later moment een variabele van het type Months nodig is, zijn alleen de ge­de­fi­ni­eer­de con­stan­ten toe­ge­staan. Hier volgt hoe u de code schrijft:

enum Months {
	JANUARY,
	FEBRUARY,
	MARCH,
	APRIL,
	MAY,
	JUNE,
	JULY,
	AUGUST,
	SEPTEMBER,
	OCTOBER,
	NOVEMBER,
	DECEMBER
}
java

Om een variabele van het type Months te de­cla­re­ren, wijs je deze een waarde toe en gebruik je het Java-commando System.out.println om deze weer te geven. In de code ziet dit er als volgt uit:

public class Main {
	public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
	}
}
java

Hoe Java-enums binnen een klasse te gebruiken

Je kunt Java-enums ook binnen een klasse gebruiken. Voor het bo­ven­staan­de voorbeeld zou dat er als volgt uitzien:

public class Main {
	enum Months {
	JANUARY,
	FEBRUARY,
	MARCH,
	APRIL,
	MAY,
	JUNE,
	JULY,
	AUGUST,
	SEPTEMBER,
	OCTOBER,
	NOVEMBER,
	DECEMBER
}
		public static void main(String[] args) {
Months month = Months.APRIL;
System.out.println(month);
		}
}
java

Hoe gebruik je de values() -methode om alle con­stan­ten op te vragen?

Als u alle be­schik­ba­re waarden wilt weergeven, kunt u de methode values() gebruiken. Deze geeft con­stan­ten weer in de vorm van een array. Hier volgt hoe u dit kunt doen met ons voorbeeld hierboven:

enum Months {
	JANUARY,
	FEBRUARY,
	MARCH,
	APRIL,
	MAY,
	JUNE,
	JULY,
	AUGUST,
	SEPTEMBER,
	OCTOBER,
	NOVEMBER,
	DECEMBER
}
public class Main {
	public static void main(String[] args) {
for (Months month : Months.values()) {
System.out.println(month);
		}
	}
}
java

Hoe Java-enums te gebruiken met switch()

Je kunt Java-enums ook com­bi­ne­ren met andere methoden. Zo ziet het eruit wanneer het wordt ge­com­bi­neerd met switch():

enum Months {
	JANUARY,
	FEBRUARY,
	MARCH,
	APRIL,
	MAY,
	JUNE,
	JULY,
	AUGUST,
	SEPTEMBER,
	OCTOBER,
	NOVEMBER,
	DECEMBER
}
public class Main {
	public static void main(String[] args) {
		Months month = Months.APRIL;
switch (month) {
case APRIL:
System.out.println("The outdoor pool is closed.");
break;
case MAY:
System.out.println("The outdoor pool is closed.");
break;
case JUNE:
System.out.println("The outdoor pool eagerly awaits your visit!");
break;
// You can now try this out for all months.
		}
	}
}
java
Ga naar hoofdmenu