我想使用getFields()
来检索类中的公共字段,但这不起作用,数组的长度始终为0
。我是否需要使用getter或getDeclaredFields()
?
Field[] fields = gameClass.getFields();
gameClass中包含的类:
public class Solitaire {
public Board board = new Board("Board1", "");
public Layout layout = new Layout();
public Player player = new Player();}
这里是如何将类加载到gameClass中的: Load a class in a jar just with his name
答案 0 :(得分:0)
我正在做同样的事情 -
Solitaire gameClass = new Solitaire();
Class gclass = gameClass.getClass();
Field[] fields = gclass.getFields();
它对我来说非常合适:)
整个测试类 -
import java.lang.reflect.Field;
public class Test {
public static void main(String args[]) {
Solitaire gameClass = new Solitaire();
Class gclass = gameClass.getClass();
Field[] fields = gclass.getFields();
for (int i = 0; i < fields.length; i++) {
System.out.println("field: " + fields[i]);
}
}
}
class Solitaire {
public Solitaire a;
protected String b;
public String c;
public Solitaire() {
}
}