tworzę mój adnotacjilistę pól z adnotacją, dostać za pomocą refleksji
public @interface MyAnnotation {
}
I umieścić go na polach w moim badanego obiektu
public class TestObject {
@MyAnnotation
final private Outlook outlook;
@MyAnnotation
final private Temperature temperature;
...
}
Teraz chcę listę wszystkich pól z dostać MyAnnotation
.
for(Field field : TestObject.class.getDeclaredFields())
{
if (field.isAnnotationPresent(MyAnnotation.class))
{
//do action
}
}
Ale wydaje się moim bloku zrobić akcja nie jest wykonywana, a pola nie ma adnotacji jak poniższy kod zwraca 0.
TestObject.class.getDeclaredField("outlook").getAnnotations().length;
Czy ktoś może mi pomóc i powiedzieć mi, co robię źle?
1) W celu lepszego pomocą wcześniej, POST [SSCCE] (http://sscce.org/). 2) Proszę dodać dużą literę na początku zdania. Używaj również kapitału dla słowa I i nazw własnych, takich jak Java, oraz skrótów i akronimów takich jak JEE lub WAR. Ułatwia to ludziom zrozumienie i pomoc. –
możliwy duplikat [Jak uzyskać adnotacje zmiennej członkowskiej?] (Http://stackoverflow.com/questions/4453159/how-to-get-annotations-of-a-member-variable) – fglez