由於不可避免的情況下,我需要創建一個枚舉類象下面,使用數字作爲枚舉密鑰
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
。