次のようなJavaでカード列挙型を作成するにはどうすればよいですか:
public enum Card {2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, Ace};
{"2", "3"...} を試してみました。それも機能していません
JLS (Java 言語仕様)は、次の 2 つの重要な事実を示しています。
Java 列挙型フィールドは有効な識別子である必要があります。
EnumConstants:
EnumConstant
EnumConstants , EnumConstant
EnumConstant:
Annotations_opt Identifier Arguments_opt ClassBody_opt
Arguments:
( ArgumentList_opt )
EnumBodyDeclarations:
; ClassBodyDeclarations_opt
識別子の最初の文字は「Java 文字」でなければなりません。
「Java 文字」には、大文字と小文字の ASCII ラテン文字
A-Z
(\u0041
-\u005a
) とa-z
(\u0061
-\u007a
) と、歴史的な理由から、ASCII アンダースコア (_
、または\u005f
) とドル記号 ($
、または\u0024
) が含まれます。この$
文字は、機械的に生成されたソース コードでのみ使用するか、まれに、レガシー システムの既存の名前にアクセスするために使用する必要があります。
これらの制限内で作業する必要があります。
public enum Card {
Two,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King,
Ace;
}
有効な識別子を使用してみる必要があります。つまりTWO, THREE, FOUR
、2、3、4 はここでは無効です。