4

如何在 Java 中制作卡片枚举,类似于:

public enum Card {2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, Ace};

我试过 {"2", "3"...}。它也不起作用

4

2 回答 2

9

JLS(Java 语言规范)告诉我们两个重要的事实:

  1. Java 枚举字段必须是有效的标识符。

    EnumConstants:
        EnumConstant
        EnumConstants , EnumConstant
    
    EnumConstant:
        Annotations_opt Identifier Arguments_opt ClassBody_opt
    
    Arguments:
        ( ArgumentList_opt )
    
    EnumBodyDeclarations:
        ; ClassBodyDeclarations_opt
    
  2. 标识符的第一个字符必须是“Java 字母”。

    “Java 字母”包括大写和小写 ASCII 拉丁字母A-Z( \u0041- \u005a) 和a-z( \u0061- \u007a),以及出于历史原因的 ASCII 下划线 ( _, or \u005f) 和美元符号 ( $, or \u0024)。该$字符应仅用于机械生成的源代码中,或者很少用于访问遗留系统上预先存在的名称。

您必须在这些限制范围内工作。

public enum Card {
    Two,
    Three,
    Four,
    Five,
    Six,
    Seven,
    Eight,
    Nine,
    Ten,
    Jack,
    Queen, 
    King,
    Ace;
}
于 2012-12-01T05:34:42.707 回答
1

You must try using valid identifiers ie TWO, THREE, FOUR, 2,3,4 are not valid here.

于 2012-12-01T05:35:36.220 回答