【发布时间】:2014-04-25 01:48:34
【问题描述】:
我知道数组只有在共享相同引用时才彼此相等,而且 deepEquals 可以检查实际值的相等性。如果我有一个数组列表,例如List<int[]> visited,我如何使用类似于 deepEquals 的东西来检查visited 是否包含我指定的数组?
例如:
List<int[]> visited = new ArrayList<int[]>();
int[] myArray = {2, 1};
visited.add(myArray);
int[] checkFor = {2, 1};
System.out.println(visited.contains(checkFor));
应该打印出来是真的。
【问题讨论】:
-
我认为您需要了解哈希码的工作原理...试试这个
System.out.println(myArray == checkFor); -
我还很新,所以我对它们做的不多。结果是假的,这是有道理的
-
这就是
contains正在做的事情...... -
是的哈哈,这就是我问这个问题的原因。我知道问题是什么,只是不知道如何解决
标签: java arrays equals contains