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)
.