Estaba usando una enumeración en la que la constante era una clase. Necesitaba invocar un método en la constante pero no podía introducir una dependencia de tiempo de compilación y la enumeración no siempre estaba disponible en el tiempo de ejecución (parte de la instalación opcional). Por lo tanto, quería usar la reflexión.¿Cómo usar la reflexión de Java cuando el tipo enum es una clase?
Esto es fácil, pero no había usado el reflejo con enumeraciones antes.
La enumeración se veía algo como esto:
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;
}
}
¿Cuál es un ejemplo de invocación de un método de la constante utilizando la reflexión?
Ha explicado su clase enum, pero ¿cuál es su pregunta? ¿Te estás preguntando cómo se verá el código para descubrir tu clase por reflexión? – qualidafial