在此代码中,我收到编译器错误,请参阅注释:
public enum Type {
CHANGESET("changeset"),
NEW_TICKET("newticket"),
TICKET_CHANGED("editedticket"),
CLOSED_TICKET("closedticket");
private static final Map<String, Type> tracNameMap = new HashMap<String, Type>();
private Type(String name) {
tracNameMap.put(name, this); // cannot refer to static field within an initializer
}
public static Type getByTracName(String tn) {
return tracNameMap.get(tracNameMap);
}
}
有没有办法让这个工作,从它Map
的一个字段中获取一个枚举值?