Java GWT警告:“;启用枚举混淆时调用枚举方法toString;
我将GWT 2.6与以下选项一起使用:Java GWT警告:“;启用枚举混淆时调用枚举方法toString;,java,javascript,html,gwt,enums,Java,Javascript,Html,Gwt,Enums,我将GWT 2.6与以下选项一起使用: <set-configuration-property name="compiler.enum.obfuscate.names" value="true" /> 这意味着什么?在GWT中使用enum时,最好不要依赖enum的默认方法,如toString、name、valueOf 如果要提供对枚举实例名称的公共访问,或者要提供用于检索枚举实例的工厂方法,最好创建自定义方法 考虑以下示例: public enum MyEnum { FIR
<set-configuration-property name="compiler.enum.obfuscate.names" value="true" />
这意味着什么?在GWT中使用enum时,最好不要依赖enum的默认方法,如toString、name、valueOf 如果要提供对枚举实例名称的公共访问,或者要提供用于检索枚举实例的工厂方法,最好创建自定义方法 考虑以下示例:
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;
}
}
为什么要启用“模糊处理”?@Braj,因为它减少了代码大小。
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;
}
}