循环遍历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