直接上代码
public interface CodeEnum {
Integer getCode();
}
public enum AlarmDataStatus implements CodeEnum {
warn(1, "提醒"),
commonly(2, "一般"),
warning(3, "警告"),
serious(4, "严重");
private Integer code;
private String message;
AlarmDataStatus(Integer code, String message) {
this.code = code;
this.message = message;
}
@Override
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
public class EnumUtil {
//根据code和枚举对象的Class返回对应的枚举
public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass) {
//遍历该枚举对象类型中的所有枚举
for(T each : enumClass.getEnumConstants()){
if(each.getCode().equals(code)){
return each;
}
}
return null;
}
}
代码中使用 一行搞定
tAlarmRules.setAlarmRankDesc(EnumUtil.getByCode(alarmRank,AlarmDataStatus.class).getMessage());