Java 包含问题

Java 包含问题,java,containers,contains,Java,Containers,Contains,有没有一种简单的方法可以检查容器是否包含值而不是对象?这是我想使用的代码: String[] i = {"One", "Two", "Three"}; if (Arrays.asList(i).contains("One")){ return true; } 有没有办法做到这一点,或者我必须自己在数组中循环?应该可以。字符串是一个对象,因此可以使用重载(基于equals)。这应该可以正常工作。字符串是一个对象,因此可以使用重载(基于等于)。您尝试过该代码吗?它应该会起作用 Java集合使用

有没有一种简单的方法可以检查容器是否包含值而不是对象?这是我想使用的代码:


String[] i = {"One", "Two", "Three"};

if (Arrays.asList(i).contains("One")){
return true;
}

有没有办法做到这一点,或者我必须自己在数组中循环?

应该可以。字符串是一个对象,因此可以使用重载(基于
equals
)。

这应该可以正常工作。字符串是一个对象,因此可以使用重载(基于
等于
)。

您尝试过该代码吗?它应该会起作用

Java集合使用
equals
来确定
包含的内容是否相等。因此,如果对象上的
equals
方法测试值(而不是引用)相等性,那么您想要的将起作用


字符串检查它们的值是否相同。

您尝试过该代码吗?它应该会起作用

Java集合使用
equals
来确定
包含的内容是否相等。因此,如果对象上的
equals
方法测试值(而不是引用)相等性,那么您想要的将起作用


字符串检查它们的值是否相同。

要重复其他所有人,字符串是一个对象,因此这将很好地工作。contains()方法使用Object.equals()来确定列表中是否存在给定的对象。

要重复其他所有对象,String是一个对象,因此它可以正常工作。contains()方法使用Object.equals()确定列表中是否存在给定对象

class ContainsTest {
    public static void main(String[] args) {
        String[] i = {"One", "Two", "Three"};
        System.out.println(java.util.Arrays.asList(i).contains("One"));
    }  
}
输出

 ----jGRASP exec: java ContainsTest

true

 ----jGRASP: operation complete.
我认为这是有效的

输出

 ----jGRASP exec: java ContainsTest

true

 ----jGRASP: operation complete.

我认为它是有效的。

我想
contains()
使用
.equals而不是
=
是有道理的。我想我只是想得太多了。我想
contains()
使用
.equals而不是
=
是有道理的。我想我只是想得太多了。我一字不差地复制了它,它成功了。我一字不差地复制了它,它成功了。