@Getter
public enum DeviceStatus {
NORMAL(0,"正常"),
ERROR(1,"错误")
;
private final Integer code;
private final String name;
DeviceStatus(Integer code, String name) {
this.code = code;
this.name = name;
}
public static DeviceStatus getDeviceStatus(String name) {
//获取Class对象
Class<?> clzz = DeviceStatus.class;
try {
// 获取所有常量
Object[] objects = clzz.getEnumConstants();
//获取指定方法
Method deviceStatusName = clzz.getMethod("getName");
for (Object obj : objects) {
if (name.equals(deviceStatusName.invoke(obj))) {
return (DeviceStatus)obj;
}
}
}catch (Exception e){
throw new BadRequestException("设备类型错误");
}
throw new BadRequestException("查询设备类型失败");
}
}
使用反射获取枚举实例
最新推荐文章于 2023-03-27 21:31:24 发布