首页> 疑难解答

令牌“1”上的语法错误,Enum Java中预期的标识符

withpy 2021-06-19

简介我想实现Enum for Number,我想得到它各自的String值。我已经按照链接:http://www.makeinjava.com/convert-enum-integer-string-value-java/。这个错误我...

我想为Enum实现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;
    }
}
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;
    }
}

上一篇:React Native启动项目捆绑失败,出现Unexpected Token错误

下一篇:这会更短吗?

相关文章