2015-02-11 58 views
0

由于不可避免的情况下,我需要创建一个枚举类象下面,使用数字作为枚举密钥

public enum Region 
{ 
1("Region1"), 
2("Region2"); 
} 

但我令牌得到一个错误的“语法错误‘1’,标识预期”。此枚举用于jsp中的选项标记。它工作正常,如果使用字符串而不是1,枚举不允许数字作为关键?

回答

0

不,您不能使用数字作为枚举名称。 也许你可以做

public enum Region { 
    ONE("region1"), 
    TWO("region2"); 
} 
2

任何标识符的第一个字符必须是一个字母。从JLS section 3.8(重点煤矿):

一种标识符爪哇字母爪哇位其中第一个必须是爪哇信无限长度的序列。

[...]

A “的Java字母” 是用于该方法Character.isJavaIdentifierStart(int)返回true一个字符。

“Java字母”包括大写和小写ASCII拉丁字母AZ(\ u0041- \ u005a)和az(\ u0061- \ u007a),并且由于历史原因,ASCII下划线(_或\ u005f )和美元符号($或\ u0024)。 $符号只能用于机械生成的源代码,或者很少用于访问原有系统上预先存在的名称。

数字是不允许的,所以你不能命名你的枚举值12