Java Enum字段名为“float”

我有一个代码生成器,它根据一些用户定义的名称生成枚举.出于某种原因,如果用户使用字段定义枚举,例如 Java抱怨“浮动”,“切换”或其他一些编译器特定的关键字.

例如,我想定义一个包含两个字段“float”和“switch”的枚举:

public enum TestEnum {
    float(100),switch(200);
}

但是,Java认为它是一些浮点变量,它根本不理解switch变量.

在C(如果我没有记错),这没有问题

enum TestEnum {
    float  = 100,switch = 200,};

是否有可能以某种方式为枚举使用这样的“名称”?

解决方法

float和switch是Java中的关键字,不能用作枚举值.我建议遵循约定并将它们设为大写(即FLOAT,SWITCH).

public enum TestEnum {
    FLOAT(100),SWITCH(200);

    TestEnum(int value) {

    }
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...