Hallo zusammen,
ich bin neu bei Java und habe eine Frage:
In den meisten Sprachen ist es ja so, dass Elemente einer enum-Aufzählung intern durch Long- bzw. Integer-Werte repräsentiert werden. Jetzt weiss ich zwar, dass in Java 1.5 auch enums Objekte sind, aber ich hab auch irgendwo gelesen, dass für die Verwendung in switch-Konstrukten intern doch wieder long-Werte verwendet werden.
Gibt es eine einfache Möglichkeit, an diesen Wert für ein gegebenes Element heranzukommen?
Oder muss man für solche Dinge die Enumeration-Klasse verwenden?
Die Deklaration:
Und ich würde gerne ein Array (arr[]) mit der enum dermaßen synchrionisieren, dass es für jedes enum-Element genau ein Array-Element gibt, auf die ich dann in etwa so zugreifen möchte:
wobei ele.getLong() natürlich nur eine hypotetische Funktion, die die gesuchte Funktionalität darstellen soll... ;-)
Alternativ bin ich natürlich auch für jeden anderen Vorschlag dankbar, der die Anforderung möglichst unkompliziert umsetzt. Danke schonmal für die Hilfe.
Gruß!
reinski
ich bin neu bei Java und habe eine Frage:
In den meisten Sprachen ist es ja so, dass Elemente einer enum-Aufzählung intern durch Long- bzw. Integer-Werte repräsentiert werden. Jetzt weiss ich zwar, dass in Java 1.5 auch enums Objekte sind, aber ich hab auch irgendwo gelesen, dass für die Verwendung in switch-Konstrukten intern doch wieder long-Werte verwendet werden.
Gibt es eine einfache Möglichkeit, an diesen Wert für ein gegebenes Element heranzukommen?
Oder muss man für solche Dinge die Enumeration-Klasse verwenden?
Die Deklaration:
Code:
static protected enum enElement { ele1, ele2, ... eleN };
Code:
for (enElement ele: enElement.values()) {
arr[ele.getLong()] = ...;
}
Alternativ bin ich natürlich auch für jeden anderen Vorschlag dankbar, der die Anforderung möglichst unkompliziert umsetzt. Danke schonmal für die Hilfe.
Gruß!
reinski