Wie erstelle ich eine statische Enumeration mit einem Wert, der in Java ein Bindestrichsymbol hat?

7

Wie erstelle ich die statische Enumeration wie unten

%Vor%

Ab sofort bekomme ich Fehler.

    
coder 22.03.2010, 14:35
quelle

4 Antworten

16

Dies ist mit Java nicht möglich, da jedes Element ein gültiger Bezeichner sein muss (und gültige Java-Bezeichner dürfen keine Bindestriche enthalten).

Am nächsten wäre es, jedem enum-Wert eine benutzerdefinierte Eigenschaft hinzuzufügen oder die toString -Methode zu überschreiben, sodass Sie Folgendes tun können:

%Vor%     
Daniel Rikowski 22.03.2010, 14:38
quelle
13

Dies ist nicht spezifisch für enums. Dies gilt für alle Bezeichner in Java: Klassennamen, Methodennamen, Variablennamen und so weiter. Bindestriche sind einfach nicht erlaubt. Sie können alle gültigen Zeichen in JLS 3.8 finden.

Um das Problem zu veranschaulichen:

%Vor%

Was würden Sie hier erwarten?

    
BalusC 22.03.2010 14:51
quelle
1

Sie können das nicht tun. Enum-Konstanten müssen gültige Java-Bezeichner sein. Legale Java-Bezeichner dürfen nicht - enthalten. Sie können _ verwenden, wenn das ein akzeptabler Ersatz ist.

    
polygenelubricants 22.03.2010 14:41
quelle
0

Sie können die Enum-Konstante nicht mit einem Bindestrich deklarieren. Wenn Sie Bindestrich als Wert der Enumeration abrufen, sollten Sie eine Wertmethode in enum haben, die Sie entweder in seiner toString-Methode verwenden oder auf diese Methode für die Enumeration zugreifen, um den Bindestrichwert

zu erhalten     
Fazal 22.03.2010 14:39
quelle

Tags und Links