Как найти все параметры класса и их тип? - PullRequest
0 голосов
/ 17 сентября 2011

Я хочу написать Java-программу для печати всех (публичных или приватных) параметров класса и их типов.Я думаю, что я должен использовать отражение , но я нуб на java отражении.

В качестве примера, мне нужно, чтобы моя программа работала в классе ниже и приводила к следующему выводу:

class a{
    public int b;
    public int c;
    private String s;    
}

output:

b: int
c: int
s: St

Наконец, мой вопрос - как получить список параметров класса и их типов.

Ответы [ 2 ]

6 голосов
/ 17 сентября 2011

Я бы порекомендовал вам изучить javadoc, начиная с Class class:

Экземпляры класса Class представляют классы и интерфейсы в работающем приложении Java.

Следует отметить метод getDeclaredFields(), который возвращает массив Field объектов, представляющих поля, объявленные классом.

Также обратите вниманиеспособов получения Class объекта:

Class<MyClass> c = MyClass.class; //statically

MyClass mc = new MyClass();
Class<? extends MyClass> c2 = mc.getClass(); //dynamically
3 голосов
/ 17 сентября 2011
try {
    Class c = Class.forName("a");

    Field[] fs = c.getDeclaredFields();

    for(Field f : fs){
        System.out.println(f.getName()+": "+f.getType().getSimpleName());
    }

} catch (ClassNotFoundException e) {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...