java-8 - 令牌“1”上的语法错误,枚举 Java 中预期的标识符
问题描述
我想实现Enum
for Number
,我想得到它各自的 String 值。我已经关注了链接: http: //www.makeinjava.com/convert-enum-integer-string-value-java/。
我得到的错误是
令牌“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;
}
}
解决方案
您不能在 Java 中以数字开头任何标识符名称,它必须遵循为在 Java 中具有有效变量名称而指定的规则。
根据 Oracle 变量教程:
变量名区分大小写。变量的名称可以是任何合法标识符——无限长度的 Unicode 字母和数字序列,以字母、美元符号“$”或下划线字符“_”开头。
由于 anenum
中的字段实际上是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;
}
}
推荐阅读
- html - CSS 将 svg 粘贴在 div 的右侧边框上
- python - 使用子进程显示命令窗口并在命令运行后从窗口中获取文本
- c# - 带有 chat.postMessage 的图像附件 - Slack API
- python - 为什么在使用应用创建新列时会出现“试图在切片的副本上设置值”?
- python - 在 Scala 项目中使用 python 库
- angular - 角 httpClient
- docker - 如何使用 gitlab CI/CD 变量在 docker-compose.yml 中进行更改
- javascript - 重构具有相同对象属性值的数组
- mediawiki - 如何在 Mediawiki 的信息框中调整图像大小?
- css - 角材料在条件下移除垫子无线电容器