Mechanizm refleksji

0

Witam,
Czy za pomocą mechanizmu refleksji można się też dostać do wartości zmiennych klasy (pól zadeklarowanych w klasie), czy tylko można otrzymać nazwy tych pól, metody i konstruktory.

Jesli można to proszę o podpowiedź w jaki sposób.

Pozdrawiam i dzięki za pomoc.

0

Można. Metoda getDeclaredFields() zwraca tablice pól w klasie. Klasa Field zawiera informacje o polu nazwę, klasę, wartość, widoczność, adnotacji i wielu innych. Przeczytaj dokumentację klasy Field:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Field.html
tu naprawdę wszytko jest.

0

Można, zapoznaj się z klasą java.lang.reflect.Field.
//wygrałeś

0

dzięki :)

0

Mam jeszcze jedno pytanie jeśli można.
Wyciągam sobie tablice pól z klasy i teraz chciałbym warunkowo coś z tym robić tzn.
Jesli typ pola to boolean to coś jeśli int to coś innego a jeśli String to jeszcze coś innego.
Chodzi mi dokładnie jak moge sprawdzić czy typ jest jednym z wymienionych ??
tzn nazwe typów to już mam getType().getName().
Chodzi mi bardziej o coś takiego ze if (getType() == boolean) to coś tam

Z góry dzięki za ewentualną pomoc

0

Zrób getType() i za pomocą equals porównaj z boolean.class.

System.out.println(Klasa.class.getDeclaredField(nazwa_pola).getType().equals(boolean.class));

Musisz tylko pamiętać, że boolean to nie to samo co Boolean.

0

dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1