是否可以创建方法来循环任何自定义对象类型的列表,然后从中构建一个 csv 字符串?
到目前为止,我有一个这样的方法签名:
loopData(List<T> records){
}
然后我想循环对象中的每个字段,而不必指定对象类型。
到目前为止,这就是我所看到的,但它似乎明确说明了对象类型,如 ClassABC 中所示:
ClassABC abc = new ClassABC();//!!explicitly stating custom object type!!!
for (Field field : abc.getClass().getDeclaredFields()) {
field.setAccessible(true);
String name = field.getName();
Object value = field.get(abc);
System.out.printf("%s: %s%n", name, value);
}
有什么办法可以做到这一点?循环每个字段而不明确说明对象类型?
像这样的东西怎么样:
for(T o : records){
for(Field field:o.getClass().getDeclaredFields()) {
field.setAccessible(true);
String name = field.getName();
Object value = null;
try {
value = field.get(o);
} catch (IllegalArgumentException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.printf("%s: %s%n", name, value);
}
}
这个循环是否一致?它会每次都以相同的顺序循环对象字段吗?
慕勒3428872
相关分类