java枚举的应用(转)


public Class Order {
    /**
     * 实体状态枚举
     */
    public static enum State {
        UNSUBMIT(-1, "取消下单"),
        WAIT(0, "待响应"),
        AGREE(1, "已下单"),
        REFUSE(2, "拒绝"),
        ORDER(3, "已下单");
 
        public int key;    //状态
        public String val; //状态的名称
     
        State(int key, String val) {
            this.key = key;
            this.val = val;
        }
     
        public static State genEnum(int key) {
            for (State emType : State.values()) {
                if (key == emType.key) return emType;
            }
            return null;
        }
     
        public static Map<String, String> toMap(String emName) {
            Map<String, String> map = EmReg.get(emName);
            if (map != null) return map;
            map = new HashMap<>();
            for (State stType : State.values()) {
                map.put(String.valueOf(stType.key), stType.val);
            }
            EmReg.put(emName, map);
            return map;
        }
    }
}


你可能感兴趣的:(java枚举的应用(转))