如何通过反射获取自定义枚举的字段内容
时间: 2023-04-04 07:00:25 浏览: 111
可以使用Java中的Enum类的values()方法获取自定义枚举类型的所有枚举值,然后使用反射获取每个枚举值的字段内容。具体实现可以参考以下代码:
```
public class EnumReflectDemo {
enum Color {
RED("红色"), GREEN("绿色"), BLUE("蓝色");
private String desc;
Color(String desc) {
this.desc = desc;
}
public String getDesc() {
return desc;
}
}
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
for (Color color : Color.values()) {
Field field = color.getClass().getDeclaredField("desc");
field.setAccessible(true);
String desc = (String) field.get(color);
System.out.println(color.name() + ":" + desc);
}
}
}
```
输出结果为:
```
RED:红色
GREEN:绿色
BLUE:蓝色
```
阅读全文