Java Enums erlauben es Ihnen, Variablen mit fest­ge­leg­ten Werten zu erstellen. Diese werden in Groß­buch­sta­ben ge­schrie­ben und lassen sich nach­träg­lich nicht verändern. Sie dienen dazu, die Logik und Les­bar­keit Ihres Codes zu ver­bes­sern, und tragen somit zu einem Clean Code bei.

Was zeichnet Java Enums aus?

Hinter dem Begriff „Java Enums“ versteckt sich ein Datentyp, der zwar innerhalb einer her­kömm­li­chen Class an­ge­wen­det werden kann, sich aber vor allem in einem Punkt von dieser un­ter­schei­det. Eine Enum ist nämlich eine Va­ria­blen­gat­tung, die über eigens de­fi­nier­te, fest­ge­leg­te und dadurch ein­ge­schränk­te Wer­te­op­tio­nen verfügt. Java Enums sind somit Kon­stan­ten, die ver­hin­dern, dass un­ge­woll­te Werte innerhalb eines Codes verwendet werden. Dies stellt die logische Struktur eines Codes sicher und erhöht die Les­bar­keit. Der Begriff „Enum“ ist dem eng­li­schen Wort „enu­me­ra­ti­on“ für „Auf­zäh­lung“ bzw. „Ver­zeich­nis“ entliehen.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Die Syntax von Java Enums

Die Syntax der Java Enums ist immer identisch aufgebaut und sieht so aus:

enum Name_der_Klasse {
	WERT1,
	WERT2,
	WERT3
}
java

Wenn Sie diese Klasse also de­fi­nie­ren möchten, beginnen Sie mit dem Schlüs­sel­wort „enum“, das Sie statt „class“ oder „interface“ verwenden. Danach benennen Sie die Son­der­klas­se und setzen dann die ge­wünsch­ten zu­ge­las­se­nen Kon­stan­ten in die ge­schweif­ten Klammern. Die Kon­stan­ten werden dabei grund­sätz­lich in Groß­buch­sta­ben ge­schrie­ben und durch Kommata von­ein­an­der getrennt.

Beispiel für die Son­der­klas­se

Ein mögliches Beispiel für Java Enums ist eine Auf­lis­tung der Monate. Diese enthält nur zwölf mögliche Werte, die Sie als Kon­stan­ten anlegen können. Wenn dann zu einem späteren Zeitpunkt eine Variable vom Typ „Monate“ benötigt wird, sind aus­schließ­lich die de­fi­nier­ten Kon­stan­ten zulässig. Im Code sieht das für dieses Beispiel so aus:

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

Um nun eine Variable vom Typ „Monate“ zu de­kla­rie­ren, weisen Sie ihr einen Wert zu und nutzen den Java-Befehl System.out.println, um sie an­zu­zei­gen. Das sieht im Code so aus:

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

Java Enums innerhalb einer Klasse

Sie können Java Enums auch innerhalb einer Klasse verwenden. Für unser Beispiel oben sähe 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

Die Methode values zur Abfrage aller Kon­stan­ten

Wenn Sie sich alle ver­füg­ba­ren Werte anzeigen lassen möchten, hilft Ihnen die Methode values(). Diese gibt die Kon­stan­ten in Form eines Arrays aus. Für unser Beispiel wäre dies der passende Code:

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

Java Enums mit switch

Sie können Java Enums auch mit anderen Methoden kom­bi­nie­ren. So sähe ein Beispiel für eine Kom­bi­na­ti­on mit switch() aus:

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ü