循环遍历Java类中的所有字段

我有一个Java类,其中有许多Fields

我想循环遍历所有字段,并为空字段做些事情。

例如,如果我的课程是:

public class ClassWithStuff {

public int inty;

public stringy;

public Stuff;

//many more fields

}

在另一个位置,我将创建一个ClassWithStuff对象,并且想遍历该类中的所有字段。有点像这样:

for (int i = 0; i < ClassWithStuff.getFields().size(); i++) {

//do stuff with each one

}

我有什么办法可以做到这一点?

回答:

用于getDeclaredFields[班级]

ClasWithStuff myStuff = new ClassWithStuff();

Field[] fields = myStuff.getClass().getDeclaredFields();

for(Field f : fields){

Class t = f.getType();

Object v = f.get(myStuff);

if(t == boolean.class && Boolean.FALSE.equals(v))

// found default value

else if(t.isPrimitive() && ((Number) v).doubleValue() == 0)

// found default value

else if(!t.isPrimitive() && v == null)

// found default value

}

(http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html)

以上是 循环遍历Java类中的所有字段 的全部内容, 来源链接: utcz.com/qa/432562.html

回到顶部