从基础开始:
枚举的定义:
public enum SexEnum implements IEnum {
Male(1, "男"),
Female(2, "女"),
Unknown(3, "未知");
private int value;
private String label;
SexEnum(int value, String label) {
this.value = value;
this.label = label;
}
get Set省略。。。。
}
SexEnum 实现了 IEnum 接口,实现接口这个步骤是 关键
public interface IEnum {
枚举的整型值
int getValue();
枚举的中文描述
String getLabel();
}
然后就是工具类,这里关键就是 getEnumConstants 这个方法
public class EnumUtil {
返回指定 值 的'枚举'
public static <T extends IEnum> T getEnumByValue(Class<T> myclass, int value) {
for(T myEnum : myclass.getEnumConstants())
if(value == myEnum.getValue())
return myEnum;
return null;
}
返回指定 名称 的'枚举'
public static <T extends IEnum> T getEnumByLable(Class<T> myclass, String lable) {
for(T myEnum : myclass.getEnumConstants())
if( myEnum.getLabel().equals(lable))
return myEnum;
return null;
}
}
然后就是调用:
EnumUtil.getEnumByValue(AbbEnum.class, 6)