在Java中使用contains ArrayList< String> [英] Use of contains in Java ArrayList<String>
问题描述
如果我有一个String的ArrayList构成Java类的一部分,就像这样:
If I have an ArrayList of String forming part of a class in Java like so:
private ArrayList<String> rssFeedURLs;
如果我想在包含上述ArrayList的类中使用一种方法,请使用ArrayList contains来检查此ArrayList中是否包含字符串,我相信我应该能够这样做:
If I want to use a method in the class containing the above ArrayList, using ArrayList contains to check if a String is contained in this ArrayList, I believe I should be able to do so as follows:
if (this.rssFeedURLs.contains(rssFeedURL)) {
其中rssFeedURL是字符串.
Where rssFeedURL is a String.
我是对还是错?
推荐答案
您是对的. ArrayList.contains()测试equals(),而不是对象标识:
You are right. ArrayList.contains() tests equals(), not object identity:
仅当此列表时返回true 包含至少一个这样的元素 那(o == null?e == null:o.equals(e))
returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e))
如果收到NullPointerException,请验证是否在构造函数或声明中初始化了列表.例如:
If you got a NullPointerException, verify that you initialized your list, either in a constructor or the declaration. For example:
private List<String> rssFeedURLs = new ArrayList<String>();
这篇关于在Java中使用contains ArrayList< String>的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!