内部包含映射的Java枚举?

内部包含映射的Java枚举?,java,java-7,Java,Java 7,我有以下列举。我需要按代码获取描述。我有下面的代码。它正在发挥作用,但还能改进吗 public enum Maps { COLOR_RED("ABC", "abc description"); private final String code; private final String description; private static Map<String, String> mMap; private Maps(String co

我有以下列举。我需要按代码获取描述。我有下面的代码。它正在发挥作用,但还能改进吗

public enum Maps {

    COLOR_RED("ABC", "abc description");

    private final String code;
    private final String description;
    private static Map<String, String> mMap;

    private Maps(String code, String description) {
        this.code = code;
        this.description = description;
    }
    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }


    public static String getDescriptionByCode(String code) {
        if (mMap == null) {
            initializeMapping();
        }
        if (mMap.containsKey(code)) {
            return mMap.get(code);
        }
        return null;
    }

    private static void initializeMapping() {
        mMap = new HashMap<String, String>();
        for (Maps s : Maps.values()) {
            mMap.put(s.code, s.description);
        }
    }
}
公共枚举映射{
红色(“ABC”、“ABC说明”);
私有最终字符串代码;
私有最终字符串描述;
私有静态映射mMap;
私有映射(字符串代码、字符串描述){
this.code=代码;
this.description=描述;
}
公共字符串getCode(){
返回码;
}
公共字符串getDescription(){
返回说明;
}
公共静态字符串getDescriptionByCode(字符串代码){
如果(mMap==null){
初始化映射();
}
if(mMap.containsKey(代码)){
返回mMap.get(代码);
}
返回null;
}
私有静态void initializeMapping(){
mMap=新的HashMap();
对于(映射s:Maps.values()){
mMap.put(s.代码、s.说明);
}
}
}

你的问题毫无意义。你到底想要什么?你的问题在这里可能更合适:我只需要知道我的枚举是否正确,是否可以改进..将此问题移至代码审阅