Можно ли создать метод, который будет зацикливать список любого пользовательского типа объекта, а затем создавать из него строку csv?
Пока у меня есть сигнатура метода, подобная следующей:
loopData(List<T> records){
}
Затем я хотел бы зациклить каждое поле в объекте без необходимости указывать тип объекта.
Пока это то, что я вижу, но, похоже, явно указывается тип объекта, какв классе ABC:
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);
}
}
Является ли этот цикл согласованным?будет ли он каждый раз повторять поля объекта в одном и том же порядке?