Java容器.contains问题
有没有一种简单的方法来检查容器是否包含值而不是对象?这是我想要工作的代码:
String[] i = {"One", "Two", "Three"};
if (Arrays.asList(i).contains("One")){
return true;
}
有没有办法做到这一点,或者我必须自己循环遍历数组?
Is there an easy way to check a container if it contains a value, not an object? This is the code I'd like to work:
String[] i = {"One", "Two", "Three"};
if (Arrays.asList(i).contains("One")){
return true;
}
Is there a way to do this or will I have to loop through the array myself?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
那应该可以正常工作。 String 是一个对象,因此您可以使用
contains(Object)
重载(基于equals
)。That should work fine. A String is an object, so you can use the
contains(Object)
overload (which is based onequals
).你试过那个代码吗?它应该有效。
Java 集合使用
equals
来确定contains
相等性。因此,如果对象上的 equals 方法测试值(而不是引用)相等性,则您想要的将起作用。字符串检查它们的值是否相同。
Have you tried that code? It should work.
Java collections use
equals
to determinecontains
equality. Thus if theequals
method on an object tests for value (rather than reference) equality, what you want will work.Strings check to see if their values are the same.
输出
我想说它有效。
OUTPUT
I'd say it works.
重复一下其他人,字符串是一个对象,所以这可以正常工作。 contains() 方法使用 Object.equals() 来确定给定对象是否存在于列表中。
To repeat everybody else, String is an object, so this will work fine. The contains() method uses Object.equals() to determine whether the given object exists in the list.