zoukankan      html  css  js  c++  java
  • 枚举工具类的使用

    对于key->value这种数据类型,用枚举类再好不过

    工具类如下

    package com.xgt.enums;
    
    /**
     * all service error code config
     */
    public enum EnumQuestionType {
        /**
         * sys enum config 题目类型(1:单选、2:判断、3:多选)
         */
        SINGLE("1", "单选"),
    
        JUDGE("2", "判断"),
    
        MULTI_SELECTION("3", "多选"),
        ;
    
        public final String code;
    
        public final String desc;
    
        private EnumQuestionType(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    
        /**
         *  根据 code 获得枚举
         * @param code
         * @return enum pcs
         */
        public static EnumQuestionType enumOfByCode(String code) {
            for (EnumQuestionType returnCode : values()) {
                if (code.equals(returnCode.code)) {
                    return returnCode;
                }
            }
            throw new IllegalArgumentException("No matching constant for [" + code + "]");
        }
    
        /**
         *  根据desc 获得枚举
         * @param desc
         * @return enum pcs
         */
        public static EnumQuestionType enumOfByDesc(String desc) {
            for (EnumQuestionType returnCode : values()) {
                if (returnCode.desc.equals(desc)) {
                    return returnCode;
                }
            }
            throw new IllegalArgumentException("No matching constant for [" + desc + "]");
        }
    
    }

    调用方式如下:

    
    
    //通过desc获得枚举 
    //EnumQuestionType.code获取code,依次类推
    EnumQuestionType.enumOfByDesc(questionText).code
    
    EnumQuestionType.enumOfByDesc(questionText).desc
    //通过code获得枚举
    EnumQuestionType.enumOfByCode(questionType).code
    
    EnumQuestionType.enumOfByCode(questionType).desc
    //直接访问
    EnumQuestionType.SINGLE.code
    EnumQuestionType.SINGLE.desc
     
  • 相关阅读:
    leetcode 105. 从前序与中序遍历序列构造二叉树
    leetcode 96. 不同的二叉搜索树
    leetcode 21. 合并两个有序链表
    leetcode 617. 合并二叉树
    leetcode 101. 对称二叉树
    欧拉定理和扩展欧拉定理。
    [NOI2018] 屠龙勇士
    [SDOI2010]古代猪文
    [SDOI2013]方程
    扩展Lucas定理
  • 原文地址:https://www.cnblogs.com/Java-Starter/p/9340530.html
Copyright © 2011-2022 走看看