我正在尝试检查两个列表是否包含相同的值,但我无法弄清楚为什么这个特定值会触发我的 FileException
private static void checkFileHeaders(List<ColumnDefinition> columnsDefinitions, ArrayList<String> columnsName) throws FileException {
for (ColumnDefinition cd : columnsDefinitions) {
if(!columnsName.contains(cd.getFieldNameInFile())) {
throw new FileException("Parameter "+cd.getFieldNameInFile() +" missing ");
}
}
}
正如我们在调试器中看到的,我的值存在于列表中,它可能与编码有关吗?它适用于其他值,但不适用于此特定值。
我知道 contains() 的工作方式与 equals() 类似,所以这里出了什么问题
如果我看一下各个角色:
cd.getFieldNameInFile() : [90, 66, 75, 80, 70, 45, 66, 85, 75, 82, 83]
列名[0] : [-1, -2, 90, 0, 66, 0, 75, 0, 80, 0, 70, 0, 45, 0, 66, 0, 85, 0, 75, 0, 82, 0, 83, 0]
如何解决这个差异,原因是什么?
哆啦的时光机
一只萌萌小番薯
慕侠2389804
相关分类