Java枚举不存储新数据



我创建了一个小类,用来联系我们的内部API。我使用这个类来完成所有的工作,而不是创建新的连接和传递参数。Enum类似于

public enum EnumTypes {
UpdateA("update",PostGetEnum.Post),
UpdateB("update2",PostGetEnum.Post);
private Map<String, String> values=new HashMap<String, String>();
....
public void addValues(String name,String value) {
values.put(name, value);
}
public Map<String, String> getValues() {
return values;
}
}

所以我正在创建一个像这样的对象

EnumTypes test = EnumTypes.UpdateA;
test.addValues("id", "1");

它运行得很好,除了我刚刚注意到的一些东西。当我创建第二个类似的对象时

EnumTypes test2 = EnumTypes.UpdateA;
test2.addValues("id", "2");

他们都有相同的id。

System.out.println(test.getValues());
System.out.println(test2.getValues());

2
2

我做错了什么吗?

Enum实例是static,因此在类加载时只能创建一个实例,可能Enum不是您想要的。

使用enum的方式与使用final static字段的方式相同

最新更新