Ich werde nicht ganz schlau, was die enums in Java für einen Sinn haben sollen und wie diese angelegt werden?
Habe jetzt folgendes probiert, das funktioniert auch:
code:
1:
2:
3:
4:
5:
6:
enum Ampel
{
ROT,GELB,gruen;
}
Sobald ich eine Zahl eingebe, kommen wieder Fehlermeldungen. Sind enums nur für den Datentyp String ausgelegt? Warum benötige ich bei enums keinen Modifier?
Enum werden intern als int übersetzt.
Ich habe die genaue Spezifikation nicht im Kopf, würde aber tippen, dass ROT==0 ist, GELB==1.
Mit ROT.ordinal(); kannst du das auch auslesen.
Der Sinn ist in erster Linie die Fehlervermeidung (ähnlich wie bei Konstanten). Du musst dir keine Zahlen mehr merken, sondern kannst ROT schreiben. Ich habe mal ein Programm geshrieben, das mit Hardware kommuniziert hat. Die Schnittstelle hat da feste Konstanten gefordert, da war enum hilfreich. Gleichzeitig kannst du die Konstanten thematisch ordnen.