java 枚舉的實現方法

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/woshimike/article/details/54340990

java 枚舉的簡單實現方式,下面這種實現方式特別靈活


/**
 * Created by Administrator on 2017/1/3.
 */
public enum CgtIdCardTypeEnum {
    PRC_ID("PRC_ID", "身份證",0),
    PASSPORT("PASSPORT", "護照",1),
    COMPATRIOTS_CARD("COMPATRIOTS_CARD", "港澳臺通行證",2),
    PERMANENT_RESIDENCE("PERMANENT_RESIDENCE", "外國人永久居留證",3);

    private String enName;
    private String zhName;
    private int index;

    private CgtIdCardTypeEnum(String enName, String zhName, int index) {
        this.enName = enName;
        this.zhName = zhName;
        this.index  = index;
    }

    //是否包含枚舉項
    public static boolean contains(String name){
        //所有的枚舉值
        CgtIdCardTypeEnum[] idCardTypes = values();
        //遍歷查找
        for(CgtIdCardTypeEnum s : idCardTypes){
            if(s.name().equals(name)){
                return true;
            }
        }
        return false;
    }

    //獲得認證類型
    public static CgtIdCardTypeEnum getIdCardTypeEnumByIndex(int index){
        //所有的枚舉值
        CgtIdCardTypeEnum[] cgtIdCardTypeEnums = values();
        //遍歷查找
        for(CgtIdCardTypeEnum s : cgtIdCardTypeEnums){
            if(s.getIndex() == (index)){
                return s;
            }
        }
        return null;
    }

    @Override
    public String toString() {
        return zhName;
    }

    public String getEnName() {
        return enName;
    }

    public void setEnName(String enName) {
        this.enName = enName;
    }

    public String getZhName() {
        return zhName;
    }

    public void setZhName(String zhName) {
        this.zhName = zhName;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章