gpt4 book ai didi

java - 方法包含不起作用

转载 作者:行者123 更新时间:2023-11-30 07:00:43 25 4
gpt4 key购买 nike

我正在尝试检查一个 csv 文件的一行是否存在于另一个 csv 文件中。我的代码如下:

public void readIncassiOLG(String filename,List<String []> itemsToCheck){
CSVReader reader = new CSVReader(new FileReader(filename),CSV_SEPARATOR);
List<String []> body = reader.readAll();
for(String[] item : itemsToCheck){
if(body.contains(item)){
System.out.println("Item present");
}
else{
System.out.println("Item not present");
}
}
}

要检查的项目 (itemsToCheck) 是从第一个文件中筛选出的行,我检查了两个文件中都有一些行,但是下面的方法总是打印“项目不存在”。

对此有什么建议吗?

最佳答案

如果此列表至少包含一个满足 (o==null ? e==null : o.equals(e)) 的元素 e,则 List 的 contains 方法返回 true。

在您的例子中,它将比较 2 个字符串数组。但是,array1.equals(array2)array1 == array2 相同。

这意味着它将检查它是否是同一个数组。要比较数组的内容,您需要类似以下内容:

Arrays.equals(array1, array2)

因此,列表的 contains 方法不适合您使用(即比较数组内容),而是 java.util.Arrays 或类似方法的 equals 方法。

关于java - 方法包含不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com