【发布时间】:2013-10-08 01:14:09
【问题描述】:
我有一个数组列表:
List<MyObj[]> list = new ArrayList<MyObj[]>();
我在里面放了数组:
MyObj[] test = new MyObj[2];
test[0] = new MyObj();
test[1] = new MyObj();
list.add(test);
我检查测试是否包含在列表中:
if(list.contains(test)){
System.out.println("You are smart");
}else{
System.out.println("I are not smart");
}
>I are not smart
我在这里做错了什么?
【问题讨论】:
-
list.add(test);和if(list.contains(test)){之间有什么关系吗? -
你在 MyObject 类中实现了 .equals 方法吗?
-
这对我来说有点奇怪,你在另一个类似数组的人中持有数组,你想达到什么目的?
-
equalsofMyObj永远不会被调用。equals的数组进行身份比较。 -
制作真正的SSCCE 的重要步骤之一是编译和运行您打算发布的代码,并确保它展示了您面临的相同问题。这段代码没有这样做。
标签: java arrays arraylist contains