Ist es möglich, eine enum-Klasse mit enums aus zwei oder mehr Wörtern zu haben?

7

Ich muss aus verschiedenen Arten von Genres für Bücher wählen, und ich dachte daran, Enums zu verwenden, aber es gibt mehrere Genres, die aus zwei oder mehr Wörtern bestehen, wie "Medizin, Gesundheit & Fitness", "Kunst & Fotografie". , "Science Fiction", etc.

%Vor%

Aber ich habe einen Syntaxfehler für "Science Fiction". Ich habe versucht, es in doppelte Anführungszeichen und einfache Quouten zu setzen, aber keiner hat funktioniert. Diese Enumeration wird als Attribut für die Buchklasse verwendet.

    
Aikanáro 15.03.2012, 01:57
quelle

3 Antworten

14

Nein, das ist nicht möglich. Enum-Namen müssen gültige Java-IDs sein, dh keine Leerzeichen. Die übliche Konvention besteht darin, Enum-Namen in Großbuchstaben zu deklarieren und Wörter mit einem Unterstrich wie folgt zu trennen:

%Vor%     
Óscar López 15.03.2012, 02:00
quelle
5

Es ist nicht möglich. Es ist jedoch möglich, einen Unterstrich ( Science_Fiction ) im Namen zu verwenden. Sie können auch die toString -Methode überschreiben, um das zurückzugeben, was Sie wollen (da es so aussieht, als würden Sie nach einem lesbaren Namen für Ihre Enums suchen):

%Vor%     
Jeffrey 15.03.2012 02:00
quelle
0

Dies könnte das sein, was Sie wollen:

%Vor%     
Java42 15.03.2012 02:06
quelle

Tags und Links