Tech Archive Help

13 Java – Enumerationen

Enumerationen sind spezielle Klassen, welche mit dem Keyword enum gebildet werden. Sie repräsentieren eine Ansammlung von Konstanten – also unveränderliche Variablen. Jedes Element darf nur einmal vorkommen. Enumerationen werden meistens wie Top-Level-Klassen in eigenen Dateien geschrieben, können aber auch direkt in einer Klasse definiert werden.

public enum Direction { NORTH, SOUTH EAST, WEST }

Die Werte innerhalb von Enumerationen sind statisch. Sie werden also über den Klassennamen angesprochen.

Direction.NORTH

Erweiterte Enumerationen

Auch Enumerationen können Konstruktoren haben. Diese Art von Enumerationen werden auch Advanced Enumerations genannt.

public enum Element { GOLD("Au"), IRON("Fe"), TITANIUM("Ti"); private final String symbol; public Element(String symbol) { this.symbol = symbol; } public String getSymbol() { return this.symbol; } }

Methoden

Jede Klasse erbt intern bekanntlich von der Klasse Object. Jede Enumeration, die erstellt wird, erbt von der Klasse Enum, welche wiederum von der Klasse Object erbt. Somit können auch hier Methoden wie die toString()-Methode überschrieben werden. Die toString()-Methode ruft die name()-Methode auf. Diese kann nicht überschrieben werden.

Die Methode values() ist statisch und liefert alle Elemente einer Enumeration als Array. Diese können dann in einer Schleife durchlaufen werden.

public static void main(String[] args) { for (Element element : Element.values()) { System.out.println(element); } }

Die Methode ordinal() gibt die Ordinalzahl (Ordnungszahl) des jeweiligen Elements zurück. Die Position des Elements entspricht der Ordnungszahl beginnend bei 0. Die compareTo()-Methode vergleicht Aufzählungswerte über die Differenz der Ordinalzahlen.

Last modified: 19 August 2024