所以我得到了一个 .csv,我在其中迭代并基于列创建对象。现在,在要生成的对象的构造函数中,我正在检查一些条件,如果不满足所述条件,则抛出异常。
现在我一直在问自己 - 假设该列表中有一些对象会导致抛出异常,是否有可能停止遍历即将创建的对象的构造函数只需转到 .csv 中的下一行并继续构建我的列表?
简而言之:
- 查看 .csv
- 基于列构建对象
- 如果无法创建对象(因为构造函数中抛出异常),请忽略它并转到列表中的下一个元素
这可能吗?
谢谢!
最佳答案
我确实找到了解决方案。我把从 .csv 获取数据的行放在 try-catch-block 中(使用 return Object xyz) - 这样,程序就不会终止。但是,由于这一行位于必须返回对象的函数中,因此我需要在 try-catch- block 之外返回一个对象,这就是我返回 null 的原因。现在,我的主列表中已填充了有效对象,但也填充了一些空对象。
然后,我使用 .stream().map(SimpleCsvParser::parseLine).filter( 在填充列表时过滤掉所有空对象,从主列表中“删除”空对象p -> p != null).collect(Collectors.toList());
.
谢谢!
关于java - 忽略 CSV 文件中的无效对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59913434/