我使用GWT 2.6选项:
<set-configuration-property name="compiler.enum.obfuscate.names" value="true" />
编译时,我收到以下警告。
[WARN] Call to Enum method valueOf when enum obfuscation is enabled: Someclass
Replacing Enum.name method : com/google/gwt/emul/java/lang/Enum.java:115
这是什么意思?
答案 0 :(得分:0)
在GWT中使用枚举时,最好不要依赖enum的默认方法,如toString,name,valueOf。
如果要提供enum实例名称的公共访问权限,或者要提供检索枚举实例的工厂方法,则最好创建自定义方法。
考虑以下示例:
public enum MyEnum {
FIRST("First"), SECOND("Second");
// MyEnum factory method
public static MyEnum of(String name) {
switch (name) {
case "First": return FIRST;
case "Second": return SECOND;
default: return null;
}
}
private final String name;
private MyEnum(String name) {
this.name = name;
}
public String getName() {
return name;
}
}