java枚举类型实践

末鹿安然 提交于 2019-11-27 20:35:28

公告类型的枚举类型

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就能直接从枚举类中获得类型名字了

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!