我创建了一个小类,用来联系我们的内部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
字段的方式相同