由于不可避免的情况下,我需要创建一个枚举类象下面,使用数字作为枚举密钥
public enum Region
{
1("Region1"),
2("Region2");
}
但我令牌得到一个错误的“语法错误‘1’,标识预期”。此枚举用于jsp中的选项标记。它工作正常,如果使用字符串而不是1,枚举不允许数字作为关键?
由于不可避免的情况下,我需要创建一个枚举类象下面,使用数字作为枚举密钥
public enum Region
{
1("Region1"),
2("Region2");
}
但我令牌得到一个错误的“语法错误‘1’,标识预期”。此枚举用于jsp中的选项标记。它工作正常,如果使用字符串而不是1,枚举不允许数字作为关键?
在Java中,数字作为标识符无效。通常在定义枚举常量时使用uppercase letters
不,您不能使用数字作为枚举名称。 也许你可以做
public enum Region {
ONE("region1"),
TWO("region2");
}
任何标识符的第一个字符必须是一个字母。从JLS section 3.8(重点煤矿):
一种标识符是爪哇字母和爪哇位,其中第一个必须是爪哇信无限长度的序列。
[...]
A “的Java字母” 是用于该方法
Character.isJavaIdentifierStart(int)
返回true
一个字符。“Java字母”包括大写和小写ASCII拉丁字母AZ(\ u0041- \ u005a)和az(\ u0061- \ u007a),并且由于历史原因,ASCII下划线(_或\ u005f )和美元符号($或\ u0024)。 $符号只能用于机械生成的源代码,或者很少用于访问原有系统上预先存在的名称。
数字是不允许的,所以你不能命名你的枚举值1
和2
。