java - enumerated - Usando la enumeración como clave para el mapa
hibernate postgresql enum type (2)
Quiero usar enum como claves y un objeto como valor. Aquí está el fragmento de código de ejemplo:
public class DistributorAuditSection implements Comparable<DistributorAuditSection>{
private Map questionComponentsMap;
public Map getQuestionComponentsMap(){
return questionComponentsMap;
}
public void setQuestionComponentsMap(Integer key, Object questionComponents){
if((questionComponentsMap == null) || (questionComponentsMap != null && questionComponentsMap.isEmpty())){
this.questionComponentsMap = new HashMap<Integer,Object>();
}
this.questionComponentsMap.put(key,questionComponents);
}
}
Ahora es un hashmap normal con claves de enteros y objetos como valores. Ahora quiero cambiarlo a Enummap . Para que yo pueda usar las claves de enum . Tampoco sé cómo recuperar el valor utilizando Enummap .
Es el mismo principio que Map Just Declare enum y lo utiliza como Key to EnumMap .
public enum Color {
RED, YELLOW, GREEN
}
Map<Color, String> enumMap = new EnumMap<Color, String>(Color.class);
enumMap.put(Color.RED, "red");
String value = enumMap.get(Color.RED);
Puedes encontrar más sobre Enums here
Simplemente reemplace el new HashMap<Integer, Object>() con el new EnumMap<MyEnum, Object>(MyEnum.class) .