我有一个代码生成器,它根据一些用户定义的名称生成枚举.出于某种原因,如果用户使用字段定义枚举,例如
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) { } }