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



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

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

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

b: int
c: int
s: St

最后我的问题是如何获得一个类及其类型的参数列表

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

Class的实例表示运行中的Java应用程序中的类和接口。

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

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

Class<MyClass> c = MyClass.class; //statically
MyClass mc = new MyClass();
Class<? extends MyClass> c2 = mc.getClass(); //dynamically
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) {}

相关内容

  • 没有找到相关文章

最新更新