type enumerated enum annotation java enums

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