zoukankan      html  css  js  c++  java
  • 枚举类

    
    package com.izkml.mlyun.uc.user.enums;
    
    import java.util.*;
    
    /**
     * 编制情况枚举
     * Created by qindong on 2019/3/5 0005
     */
    public enum EstablishStatusEnum {
    
        /**
         * 行政编制
         */
        ADMINISTRATIVE("行政编制"),
        /**
         * 事业编制
         */
        ENTERPRISE("事业编制"),
        /**
         * 工勤编制
         */
        WORK("工勤编制"),
        /**
         * 合同制
         */
        CONTRACT("合同制"),
        /**
         * 聘用制
         */
        EMPLOY("聘用制"),
        /**
         * 临时制
         */
        TEMPORARY("临时制");
    
        /**
         * 枚举Set,包含本枚举的所以实例
         */
        private static EnumSet<EstablishStatusEnum> enumSet = EnumSet.allOf(EstablishStatusEnum.class);
    
        /**
         * 描述
         */
        private String description;
    
        /**
         * 获取文字描述
         *
         * @return 文字描述
         */
        public String getDescription() {
            return description;
        }
    
        /**
         * 设置文字描述
         *
         * @param description 文字描述
         */
        public void setDescription(String description) {
            this.description = description;
        }
    
    
        /**
         * 构造函数
         *
         * @param description 描述,不可为空
         */
        EstablishStatusEnum(String description) {
            if (description == null) {
                throw new IllegalArgumentException("description不可为空");
            }
            this.description = description;
        }
    
        /**
         * 根据描述获取枚举
         *
         * @param description 描述
         * @return 枚举, 如果description为null或者找不到匹配的枚举, 返回null
         */
        public static EstablishStatusEnum getByDescription(String description) {
            if (description == null) {
                return null;
            }
            for (Iterator<EstablishStatusEnum> iter = enumSet.iterator(); iter.hasNext(); ) {
                EstablishStatusEnum enumObject = iter.next();
                if (description.equals(enumObject.getDescription())) {
                    return enumObject;
                }
            }
            return null;
        }
    
        /**
         * 根据name获取枚举对象
         *
         * @param name
         * @return
         */
        public static EstablishStatusEnum getEstablishStatusEnum(String name) {
            for (EstablishStatusEnum establishStatusEnum : EstablishStatusEnum.values()) {
                if (establishStatusEnum.name().equals(name)) {
                    return establishStatusEnum;
                }
            }
            return null;
        }
    
        public static List<Map> getEnumMap() {
            List<Map> result = new ArrayList<>();
            for (Iterator<EstablishStatusEnum> iter = enumSet.iterator(); iter.hasNext(); ) {
                Map map = new HashMap();
                EstablishStatusEnum enumObject = iter.next();
                map.put("value", enumObject.toString());
                map.put("name", enumObject.getDescription());
                result.add(map);
            }
            return result;
        }
    
        public static Map<String, String> getEnumForMap() {
            Map<String, String> result = new HashMap<>();
            for (Iterator<EstablishStatusEnum> iter = enumSet.iterator(); iter.hasNext(); ) {
                EstablishStatusEnum enumObject = iter.next();
                result.put(enumObject.toString(), enumObject.getDescription());
            }
            return result;
        }
    }
    
    
    
    认真可以把事情做对,而用心却可以做到完美
  • 相关阅读:
    Spring AOP 详解
    java 线程的几种状态
    Atomic
    ConcurrentHashMap原理分析
    MySQL存储过程详解 mysql 存储过程
    spring-定时器(2)
    spring-定时器(1)
    spring-线程池(3)
    spring-线程池(2)
    spring-线程池(1)
  • 原文地址:https://www.cnblogs.com/fangh816/p/13295504.html
Copyright © 2011-2022 走看看