Java容器.contains问题

时间:2010-07-22 16:36:34

标签: java containers contains

如果容器包含值而不是对象,是否可以轻松检查容器?这是我想要的代码:


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

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

有没有办法做到这一点,还是我必须自己遍历数组?

4 个答案:

答案 0 :(得分:3)

这应该可以正常工作。 String是一个对象,因此您可以使用contains(Object)重载(基于equals)。

答案 1 :(得分:1)

你试过那段代码吗?它应该工作。

Java集合使用equals来确定contains相等性。因此,如果对象上的equals方法测试值(而不是引用)相等,那么您想要的是什么。

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

答案 2 :(得分:1)

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.

我说它有效。

答案 3 :(得分:0)

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