我想为Enum
实现Number
,我想获取其各自的String值。我已经点击了链接:。
我得到的错误是
令牌“ 1”的语法错误,应使用标识符
令牌“ 2”的语法错误,应使用标识符
public enum CompanyCityType {
1("New York"),
2("Reston");
private Integer companyCityType;
CompanyCityType(Integer companyCityType) {
this.companyCityType = companyCityType;
}
public Integer getCompanyAddrType() {
return this.companyCityType;
}
}
答案 0 :(得分:2)
在Java中,任何标识符名称都不能以数字开头,它必须遵循为在Java中使用有效变量名而指定的规则。
根据Oracle变量tutorial:
变量名称区分大小写。变量的名称可以是任何合法的 标识符-无限长度的Unicode字母和 以字母,美元符号“ $”或数字开头的数字 下划线字符“ _”。
由于enum
中的字段实际上是public static final fields
(单个实例)或 类变量 ,它们遵循与命名规则相同的一组命名规则。一个普通的Java变量。
您需要将代码重构为:
public enum CompanyCityType {
NEW_YORK(1),
RESTON(2);
private int companyCityType;
CompanyCityType(int companyCityType) {
this.companyCityType = companyCityType;
}
public int getCompanyAddrType() {
return this.companyCityType;
}
}