EnumUtils 获取指定属性的指定值
时间: 2023-10-04 18:03:20 浏览: 38
如果您想要获取枚举类型中某个指定属性的指定值所对应的枚举实例,可以使用 EnumUtils.getEnum 方法结合反射来实现。具体来说,可以先使用 EnumUtils.getEnumList 方法获取该枚举类型的所有实例列表,然后遍历列表并使用反射获取对应属性的值,如果找到匹配的属性值,则返回该枚举实例。示例代码如下:
```java
List<YourEnumType> enumList = EnumUtils.getEnumList(YourEnumType.class);
for (YourEnumType enumInstance : enumList) {
try {
Field field = enumInstance.getClass().getDeclaredField("yourProperty");
field.setAccessible(true);
Object value = field.get(enumInstance);
if (value.equals("YourPropertyValue")) {
return enumInstance;
}
} catch (Exception e) {
// handle exception
}
}
```
其中,YourEnumType 是你定义的枚举类型,"yourProperty" 是要获取的属性名,"YourPropertyValue" 是要匹配的属性值。如果找到匹配的实例,则返回该枚举实例。需要注意的是,由于使用了反射,该方法可能会影响性能,并且可能会抛出异常,需要进行异常处理。