如何查找类的所有参数及其类型?

Sae*_*eed 0 java reflection

我想编写一个java程序来打印类的所有(公共或私有)参数及其类型.我想我必须使用反射,但我是java反射的noob.

作为一个例子,我需要我的程序在下面的类上运行并导致以下输出:

class a{
    public int b;
    public int c;
    private String s;    
}
Run Code Online (Sandbox Code Playgroud)

输出:

b: int
c: int
s: St
Run Code Online (Sandbox Code Playgroud)

最后我的问题是如何获取类及其类型的参数列表.

Pau*_*ora 6

我建议你从Class类开始探索javadoc :

该类的实例Class表示正在运行的Java应用程序中的类和接口.

值得注意的是该方法getDeclaredFields(),它返回一个Field对象数组,表示该类声明的字段.

还要注意获取Class对象的方法:

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

MyClass mc = new MyClass();
Class<? extends MyClass> c2 = mc.getClass(); //dynamically
Run Code Online (Sandbox Code Playgroud)