Java Enum, Integer und String zusammen definieren?

7

Ich möchte String und Integer zusammen definieren, aber es gibt Fehler.

%Vor%

Der Fehler ist ein Syntaxfehler auf Token 9, lösche dieses Token.

    
CursedChico 15.08.2013, 08:33
quelle

6 Antworten

8

Bei der Deklaration von enum in Java { Ace, 9, Queen, King } handelt es sich nicht um Zeichenfolgen und Ganzzahlen. Dies sind tatsächliche Objekte von enum.

Sie können dies tun:

%Vor%     
Tala 15.08.2013 08:35
quelle
6

Die Dinge in enum s sind Bezeichner , Namen von statischen endgültigen (konstanten) Objekten, die erstellt werden. Sie können also kein int für die Benennung eines Objekts verwenden.

enum s ermöglicht das Platzieren von Feldern für jeden Eintrag:

%Vor%

Sie wollen wirklich nicht alle 52 Karten auf diese Weise codieren. Sie können es anders modellieren:

Suite:

%Vor%

Klasse mit einigen populären Rängen als benannte Konstanten:

%Vor%     
S.D. 15.08.2013 08:57
quelle
3

Sie können ein Aufzählungsfeld nicht mit einer Nummer beginnen. Verwenden Sie NINE .

    
Duncan Jones 15.08.2013 08:35
quelle
2

Java Benennungsregeln sagen, dass Sie Variablen, Klassennamen usw. nicht mit Zahlen starten können.

    
ug_ 15.08.2013 08:35
quelle
1

probiere

aus %Vor%

anstelle Ihrer enum

Das Problem ist, dass, wenn Sie die Zahl als Enum-Wert hätten setzen können, der Compiler nicht wissen würde, wenn jemand "9" schreibt, meinte er die Nummer oder die Enumeration. so wird Java, wie fast jede Sprache, diese Art von Enum-Wert nicht zulassen

    
No Idea For Name 15.08.2013 08:36
quelle
1

U kann keine Ganzzahlen in enum wie diesem verwenden. Bitte gehen Sie dies durch: Ссылка

    
Jazib 15.08.2013 08:39
quelle

Tags und Links