2012-09-14 5 views
5

Jaki jest cel metody getDefaultValue() w klasie java.lang.reflect.Method?, Czy ktoś może wskazać mi sytuację, w której ta metoda jest przydatna?Narzędzie metody "java.lang.reflect.Method.getDefaultValue()"?

opis z API metoda nie znaczy wiele dla mnie, ja nie rozumiem, co jest „annotation member represented by this Method instance”:

Zwraca wartość domyślną dla członka adnotacji reprezentowanym przez ten przykład Method. Jeśli element jest typu pierwotnego, zwracana jest instancja odpowiedniego typu opakowania. Zwraca wartość null, jeśli z elementem nie skojarzono wartości domyślnej lub jeśli instancja metody nie reprezentuje zadeklarowanego elementu typu adnotacji.

Odpowiedz

11

Adnotacje mają swoje "atrybuty" jako metody. Na przykład:

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

getDefaultValue() metody z adnotacją zwraca wartość domyślną adnotację „atrybut” zdefiniowanego w ten sposób. W tym przykładzie domyślną wartością metody jest stringValue().

+2

Widzę, więc "Method.getDefaultValue()" ma sens tylko wtedy, gdy metoda jest zadeklarowana w adnotacji. – Sergio