gpt4 book ai didi

Java,搜索两个ArrayList不起作用

转载 作者:行者123 更新时间:2023-12-02 05:33:03 25 4
gpt4 key购买 nike

我对下面的代码感到害怕,并惊讶于它不起作用。在这里,我想按照我想要的方式比较两个 ArrayList,如下所示。所以我无法获得“绿色”的匹配,只是因为它被添加到 ww 列表中,其中包含一个包含“绿色”的空间,即使我使用了 trim() 但仍然不起作用。非常感谢您的专业知识帮助我解决了这个奇怪的错误。

ArrayList<String> ww = new ArrayList();
ArrayList<String> mm = new ArrayList();
ww.add("Orange");
ww.add(" Green".trim());
mm.add("Orange");
mm.add("Green");

for ( String x:ww){
for ( y:mm){
if (x==y){
System.out.println(x);
}
}
}

运行后:

Orange

最佳答案

您不能使用 == 来比较两个字符串的值是否相等。 == 仅用于引用相等。将您的 if 条件修改为:

if(x.equals(y))

具体来说,虽然常量池中存在“Orange”(对于使用它的两种情况都具有相同的引用),但存在“Green”的两个实例——其中一个在常量池中。以及由 String#trim() 返回的一个。

关于Java,搜索两个ArrayList不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343523/

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