2012-09-14 10 views
5

¿Cuál es el objetivo del método getDefaultValue() en la clase java.lang.reflect.Method ?, ¿alguien me puede indicar una situación en la que este método es útil?Utilidad del método 'java.lang.reflect.Method.getDefaultValue()'?

La descripción de la API del método no dice mucho para mí, no lo entiendo cuál es el "annotation member represented by this Method instance":

Devuelve el valor predeterminado para el miembro de anotación representado por esta instancia de método. Si el miembro es de un tipo primitivo, se devuelve una instancia del tipo de envoltura correspondiente. Devuelve nulo si no hay ningún valor predeterminado asociado con el miembro, o si la instancia del método no representa un miembro declarado de un tipo de anotación.

Respuesta

11

Las anotaciones tienen sus "atributos" como métodos. Por ejemplo:

public @interface Example { 
    public String stringValue() default "string default value"; 
    public int intValue() default 10; 
} 

El getDefaultValue() de un método de una anotación devuelve el valor predeterminado de un "atributo" anotación definido de esta manera. En el ejemplo, el valor predeterminado del Método stringValue() es "string default value".

+2

Veo, por lo que 'Method.getDefaultValue()' tiene sentido solo cuando el método se declara en una anotación. – Sergio

Cuestiones relacionadas