Letzte Änderung:
20.03.2012



Spruch des Tages

Noch sind wir zwar keine gefährdete Art, aber es ist nicht so, dass wir nicht oft genug versucht hätten, eine zu werden.

Douglas Adams
Java




enum



In vielen Programmiersprachen sind Aufzählungen möglich. In Java funktioniert eine Aufzählung ab einschließlich Version 5. Wie in vielen anderen Sprachen wird auch in Java hierfür das Schlüsselwort enum genutzt. Das Schlüsselwort enum ersetzt (oder ist vergleichbar) das Schlüsselwort class und ist entsprechend zu nutzen. Eine enum-Deklaration ist zu behandeln, wie die Deklaration einer Klasse. Von einer Aufzählung kann nicht abgeleitet werden, also kann die Aufzählung nicht als Super-Klasse dienen.

Beispiel:

public class Aufzaehlung
{
	static enum Wochentag{Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag };

	public static void main(String[] args)
	{
		for(Wochentag Tag: Wochentag.values())
			System.out.printf("\n%s",Tag);
	}
}


Eine Aufzählung

enum Wochentag{Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag };


lässt sich mit dem Statement

Wochentag[] Tag = Wochentag.values();


einem Array zuweisen.

Die mit der enum-Anweisung gebildeten Konstanten verfügen intern zur Identifizierung über eine Integerzahl. Deshalb ist ein if-Konstrukt zu Abfrage möglich.

Beispiel:

public class Aufzaehlung
{
	static enum Ampel{rot, gelb, gruen};

	public static void main(String[] args)
	{
		Ampel Farbe = Ampel.rot;
		if(Farbe == Ampel.rot)
			System.out.printf("\n%s",Farbe);
	}
}


Genauso ist die Mehrfachauswahl über switch-case möglich.

Beispiel:

public class Aufzaehlung
{
	static enum Ampel{rot, gelb, gruen};

	public static void main(String[] args)
	{
		Ampel Farbe = Ampel.rot;
		switch(Farbe)
		{ 
			case rot :		System.out.printf("\nHalt"); break;
			case gelb:		System.out.printf("\nGleich gehts los"); break;
			case gruen:		System.out.printf("\nFahren"); break;
		}
	}
}