定義接口召耘。用于反射范式編程
public interface CodeEnum {
Integer getCode();
}
定義業(yè)務(wù)枚舉仑性,并實現(xiàn)CodeEnum接口
/** 婚姻狀況 枚舉*/
public enum MaritalStatusEnum implements CodeEnum{
SPINSTERHOOD(1, "未婚"),
MARRIED_NO_CHILD(2,"已婚無子女"),
MARRIED_HAS_CHILD(3,"已婚有子女"),
DIVORCE(4,"離異");
private Integer code;
private String message;
public Integer getCode() {
return code;
}
public String getMessage() {
return message;
}
MaritalStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
定義枚舉工具類
/** 枚舉工具類 */
public class EnumUtil {
/** 通過code獲取枚舉*/
public static <T extends CodeEnum> T getEnumByCode(Integer code, Class<T> enumClass) {
for (T each : enumClass.getEnumConstants()) {
if(code.equals(each.getCode())){
return each;
}
}
return null;
}
}
使用范例:
EnumUtil.getEnumByCode(1, MaritalStatusEnum.class).getMessage();