如果容器包含值而不是对象,是否可以轻松检查容器?这是我想要的代码:
String[] i = {"One", "Two", "Three"};
if (Arrays.asList(i).contains("One")){
return true;
}
有没有办法做到这一点,还是我必须自己遍历数组?
答案 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()来确定给定对象是否存在于列表中。