zoukankan      html  css  js  c++  java
  • java枚举类型实践

    公告类型的枚举类型

    public enum BulletinsType {
        DELAY_BULLETINS("延期公告",7),
        FLOWMARK_BULLETINS("流标公告",8),
        RUNOFF_BULLETINS("废标公告",10),
        PREQUALIFICATION_BULLETINS("资格预审公告",2),
        CLEAR_BULLETINS("澄清公告",3),
        FRUIT_BULLETINS("中标结果公告",4),
        CHANGE_BULLETINS("变更公告",5),
        BEFOREHAND_BULLETINS("预中标公告",6),
        EVALUATION_BULLETINS("评标报告",9);
        private String typeName;  
        private int index;
        BulletinsType(String typeName , int index) {  
            this.typeName = typeName;  
            this.index = index;  
        }  
        /** 
         * 根据公告类型的索引,返回类型的枚举实例。 
         * @param typeName 类型名称 
         */  
        public static BulletinsType fromIndex(int index) {  
            for (BulletinsType type : BulletinsType.values()) {  
                if (type.getIndex() == index) {  
                    return type;  
                }  
            }  
            return null;  
        }     
        /** 
         * 根据类型的名称,返回类型的枚举实例。 
         * @param typeName 类型名称 
         */  
        public static BulletinsType fromTypeName(String typeName) {  
            for (BulletinsType type : BulletinsType.values()) {  
                if (type.getTypeName().equals(typeName)) {  
                    return type;  
                }  
            }  
            return null;  
        }  
        public String getTypeName() {  
            return this.typeName;  
        }      
        public int getIndex() {  
            return this.index;  
        }  
    //这段代码,通过key就能获得对应的枚举类型
    BulletinsType  bulletinsType = BulletinsType.fromIndex(bulletins.getCodeType());

     公告类型是固定的,业务系统通过codeType就能直接从枚举类中获得类型名字了.

    设计原则:重复的字符串应该使用 静态变量或者枚举类,一处更新,多出使用

  • 相关阅读:
    关于vue中的语法糖v-model
    Cocos2d-x shader学习1: 灰度shader
    nginx多域名配置
    lua和c的亲密接触
    LeetCode 2. Add Two Numbers 解题报告
    LeetCode 1. Two Sum 解题报告
    【翻译】LPeg编程指南
    Cocos2d-x中的CC_CALLBACK_X详解
    C++ 11 学习3:显示虚函数重载(override)
    C++ 11 学习2:空指针(nullptr) 和 基于范围的for循环(Range-based for loops)
  • 原文地址:https://www.cnblogs.com/jkwll/p/11375262.html
Copyright © 2011-2022 走看看