Java Enums er­mög­li­chen es dir, Variablen mit fix de­fi­nier­ten Werten zu erstellen. Diese werden groß­ge­schrie­ben und sind nach­träg­lich nicht mehr änderbar. Sie ver­bes­sern die Logik sowie Les­bar­keit deines Codes und zahlen so auf einen Clean Code ein.

Was macht Java Enums aus?

Hinter dem Begriff „Java Enums“ steckt ein Datentyp, der zwar in einer normalen Class genutzt werden kann, sich aber we­sent­lich un­ter­schei­det. Eine Enum ist eine Va­ria­blen­gat­tung mit eigenen, fixen und dadurch li­mi­tier­ten Wer­te­op­tio­nen. Java Enums fungieren als Kon­stan­ten, die ver­hin­dern, dass un­er­wünsch­te Werte im Code landen. Das sichert die logische Struktur und macht alles über­sicht­li­cher. Der Name „Enum“ leitet sich vom eng­li­schen „enu­me­ra­ti­on“ für „Auf­zäh­lung“ ab.

Die Syntax von Java Enums

Die Syntax der Java Enums folgt immer diesem Aufbau:

enum Name_der_Klasse {
	WERT1,
	WERT2,
	WERT3
}
java

Um diese Klasse zu de­fi­nie­ren, startest du mit dem Keyword „enum“ anstelle von „class“ oder „interface“. Danach benennst du die Son­der­klas­se und führst die erlaubten Kon­stan­ten in ge­schweif­ten Klammern an. Diese Kon­stan­ten werden immer in Groß­buch­sta­ben angeführt und mittels Komma getrennt.

Pra­xis­bei­spiel für die Son­der­klas­se

Ein klas­si­sches Beispiel für Java Enums ist die Liste der Monate. Da es nur zwölf Optionen gibt, legst du diese als Kon­stan­ten an. Wird später eine Variable vom Typ „Monate“ gebraucht, sind nur diese De­fi­ni­tio­nen gültig. Im Code sieht das so aus:

enum Monate {
	JANUAR,
	FEBRUAR,
	MAERZ,
	APRIL,
	MAI,
	JUNI,
	JULI,
	AUGUST,
	SEPTEMBER,
	OKTOBER,
	NOVEMBER,
	DEZEMBER
}
java

Um eine Variable vom Typ „Monate“ zu de­kla­rie­ren, weist du ihr einen Wert zu und nutzt den Java-Befehl System.out.println für die Anzeige. Die Umsetzung im Code:

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

Java Enums in einer Klasse nutzen

Du kannst Java Enums direkt innerhalb einer Klasse einbauen. Bezogen auf unser Beispiel sieht das so aus:

public class Main {
	enum Monate {
	JANUAR,
	FEBRUAR,
	MAERZ,
	APRIL,
	MAI,
	JUNI,
	JULI,
	AUGUST,
	SEPTEMBER,
	OKTOBER,
	NOVEMBER,
	DEZEMBER
}
		public static void main(String[] args) {
Monate monat = Monate.APRIL;
System.out.println(monat);
		}
}
java

Alle Kon­stan­ten mit der Methode values abfragen

Möchtest du dir sämtliche ver­füg­ba­ren Werte anzeigen lassen, hilft dir die Methode values() weiter. Sie gibt die Kon­stan­ten als Array aus. Der passende Code für unser Beispiel:

enum Monate {
	JANUAR,
	FEBRUAR,
	MAERZ,
	APRIL,
	MAI,
	JUNI,
	JULI,
	AUGUST,
	SEPTEMBER,
	OKTOBER,
	NOVEMBER,
	DEZEMBER
}
public class Main {
	public static void main(String[] args) {
for (Monate monat : Monate.values()) {
System.out.println(monat);
		}
	}
}
java

Kom­bi­na­ti­on von Java Enums mit switch

Java Enums lassen sich her­vor­ra­gend mit anderen Methoden ver­knüp­fen. Hier siehst du ein Beispiel für das Zu­sam­men­spiel mit switch():

enum Monate {
	JANUAR,
	FEBRUAR,
	MAERZ,
	APRIL,
	MAI,
	JUNI,
	JULI,
	AUGUST,
	SEPTEMBER,
	OKTOBER,
	NOVEMBER,
	DEZEMBER
}
public class Main {
	public static void main(String[] args) {
		Monate monat = Monate.APRIL;
switch (monat) {
case APRIL:
System.out.println("Das Freibad ist geschlossen.");
break;
case MAI:
System.out.println("Das Freibad ist geschlossen.");
break;
case JUNI:
System.out.println("Das Freibad freut sich auf Ihren Besuch!");
break;
// Dies können Sie nun für alle Monate ausprobieren.
		}
	}
}
java
Zum Hauptmenü