我有一个List<Person>
我想写入一个 CSV 文件,然后再次读取它。我的问题是 Person
-类有一个List<Insurance>
-属性。因此,行的长度将取决于 List<Insurance>
中有多少对象。 -属性。一个Person
可以有 0 个或多个保险,这些保险存储在 List
中具体Person
。有没有合理的方法来做到这一点?
像这样:
public class Person {
private int insuranceNR;
private String firstName;
private String lastName;
private List<Insurance> insurances;
}
我没有找到像我这样的问题,但如果有,请重定向我。谢谢。
最佳答案
CSV 在这里不是最佳选择,因为它应该具有固定数量的列以进行有效解析。您应该使用 json 或 xml。
但是,如果您仍然想使用 CSV,则必须确保类中只有 1 个列表元素(将来的修改将破坏一致性),并且该元素也写在行尾。
类似这样的事情
1, Bill, Gates, Ins1, Ins2, Ins3
2, Donald, Trump
3, Elon, Musk, Ins4
4, Jeff, Bezos, Ins5, Ins6, Ins7, Ins8, Ins9
在您的代码中,仅将前 3 个元素视为固定元素,并相应地迭代剩余元素。
这里是与您类似的问题的引用: Using CsvBeanReader to read a CSV file with a variable number of columns
关于java - 将具有列表作为属性的 Java 对象写入和读取到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55609990/