Java -Enumerationen
Aufzählungen
An enum
ist eine spezielle "Klasse", die eine Gruppe von
Konstanten (unveränderliche Variablen, wie final
Variablen) darstellt.
Um eine zu erstellen enum
, verwenden Sie das enum
Schlüsselwort (anstelle von class oder interface) und trennen Sie die Konstanten durch ein Komma. Beachten Sie, dass sie in Großbuchstaben geschrieben sein sollten:
Beispiel
enum Level {
LOW,
MEDIUM,
HIGH
}
Sie können auf enum
Konstanten mit der Punktsyntax zugreifen :
Level myVar = Level.MEDIUM;
Enum ist die Abkürzung für „enumerations“, was „speziell aufgelistet“ bedeutet.
Enum innerhalb einer Klasse
Sie können auch eine enum
innerhalb einer Klasse haben:
Beispiel
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
Die Ausgabe wird sein:
MEDIUM
Enum in einer Switch-Anweisung
Enums werden oft in switch
Anweisungen verwendet, um nach entsprechenden Werten zu suchen:
Beispiel
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch(myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
Die Ausgabe wird sein:
Medium level
Schleife durch eine Aufzählung
Der Enum-Typ hat eine values()
Methode, die ein Array aller Enum-Konstanten zurückgibt. Diese Methode ist nützlich, wenn Sie die Konstanten einer Aufzählung durchlaufen möchten:
Beispiel
for (Level myVar : Level.values()) {
System.out.println(myVar);
}
Die Ausgabe wird sein:
LOW
MEDIUM
HIGH
Unterschied zwischen Aufzählungen und Klassen
Ein enum
kann, genau wie ein class
, Attribute und Methoden haben. Der einzige Unterschied besteht darin, dass Aufzählungskonstanten public
, static
und sind final
(unveränderbar – kann nicht überschrieben werden).
An enum
kann nicht zum Erstellen von Objekten verwendet werden, und es kann keine anderen Klassen erweitern (aber es kann Schnittstellen implementieren).
Warum und wann Enums verwenden?
Verwenden Sie Aufzählungen, wenn Sie Werte haben, von denen Sie wissen, dass sie sich nicht ändern werden, wie Monatstage, Tage, Farben, Kartenspiele usw.