import java.util.ArrayList;
public class Test {
public static void main (String[] args){
ArrayList<String[]> a = new ArrayList<String[]>();
a.add(new String[]{"one", "abc"});
a.add(new String[]{"two", "def"});
if(a.contains(new String[]{"one", "abc"})){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
控制台说“假”。我有一个ArrayList,我无法检查它是否包含特定的String数组。怎么办,为什么?
contains
使用equals
方法实现检查对象是否相等。但是,对于数组,equals
等效于引用相等。即array1.equals(array2)
翻译为array1 == array2
。
在上面,new String[]{"one", "abc"})
传递给contains
方法的将创建一个 新
数组,该数组与最初添加到中的数组不同ArrayList
。
一种检查方法是遍历中的每个数组,ArrayList
并使用Arrays.equals(array1, array2)
以下命令检查是否相等:
for(String[] arr : a) {
if(Arrays.equals(arr, new String[]{"one", "abc"})) {
System.out.println(true);
break;
}
}
另一种方法是ArrayUtils.isEquals
从Apache
使用commons-lang
。
问题内容: 如何查找字符串是否包含HTML数据?用户通过Web界面提供输入,很可能他会使用简单的文本或HTML格式。 问题答案: 您可以使用正则表达式来搜索HTML标记。
问题内容: 如何知道一个字符串是否包含重音? 问题答案: 在列表中添加您想要的任何重音
HBase如何知道一行是否包含特定的列?例如,考虑以下情况: null 提前感谢!
我想找到属性中的是否包含某个值。然后我想获取包含该值的条目的索引。
我想知道中的属性
我正在使用一个映射,并希望使用一个值对象作为映射键。。和一个列表作为值。值对象有两个属性:第一个名称、第二个名称。。我想把地图还给你。如果两个属性都与同一映射中的某个键匹配,则containsKey()为true。。 我尝试使用比较器如下 这是我正在使用的值对象 但它为我返回假...请帮助我...谢谢提前