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;
}
}