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;
        }
    }
    
    
    
    认真可以把事情做对,而用心却可以做到完美
  • 相关阅读:
    Optional类的基本使用(没怎么看)
    443. String Compression字符串压缩
    520. Detect Capital判断单词有效性
    521. Longest Uncommon Subsequence I 最长不同子数组
    459. Repeated Substring Pattern 判断数组是否由重复单元构成
    686. Repeated String Match 字符串重复后的子字符串查找
    696. Count Binary Substrings统计配对的01个数
    58. Length of Last Word最后一个单词的长度
    680. Valid Palindrome II 对称字符串-可删字母版本
    125. Valid Palindrome判断有效的有符号的回文串
  • 原文地址:https://www.cnblogs.com/fangh816/p/13295504.html
Copyright © 2011-2022 走看看