Mechanizm refleksji

Odpowiedz Nowy wątek
2009-05-14 15:05
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.

Pozostało 580 znaków

2009-05-14 15:16
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.[...]/java/lang/reflect/Field.html
tu naprawdę wszytko jest.

Pozostało 580 znaków

2009-05-14 15:17
0

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


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2009-05-14 15:21
0

dzięki :)

Pozostało 580 znaków

2009-05-15 13:02
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

Pozostało 580 znaków

2009-05-15 14:32
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.


Registered Linux user #456405 | SCJP 6 | SCWCD 5 | SCBCD 5

Pozostało 580 znaków

2009-05-15 14:35
0

dzięki

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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