当枚举类型是类时,如何使用Java反射?
2022-09-02 03:09:33
我使用的是一个枚举,其中常量是一个类。我需要在常量上调用一个方法,但无法引入编译时依赖关系,并且枚举在运行时并不总是可用(可选安装的一部分)。因此,我想使用反射。
这很容易,但我以前从未使用过枚举的反射。
枚举如下所示:
public enum PropertyEnum {
SYSTEM_PROPERTY_ONE("property.one.name", "property.one.value"),
SYSTEM_PROPERTY_TWO("property.two.name", "property.two.value");
private String name;
private String defaultValue;
PropertyEnum(String name) {
this.name = name;
}
PropertyEnum(String name, String value) {
this.name = name;
this.defaultValue = value;
}
public String getName() {
return name;
}
public String getValue() {
return System.getProperty(name);
}
public String getDefaultValue() {
return defaultValue;
}
}
使用反射调用常量方法的示例是什么?