在枚举类型中使用整数

Jam*_*mes 4 java enums

我想宣布这个枚举:

public enum Month {
    1, 2, 3, 4, 5 , 6, 7, 8, 9, 10, 11, 12;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译时它不起作用.这是因为常数是整数吗?

Jon*_*eet 6

是 - 枚举的值必须是有效的标识符.毕竟它们基本上是静态字段 - 你有效地试图声明:

public static Month 1 = new Month();
Run Code Online (Sandbox Code Playgroud)

这显然是无效的.

有关详细信息,请参阅Java语言规范部分8.9,但特别是此生产:

EnumConstant:
注释 标识符 参数opt ClassBody opt