JAVA:比较两个1D数组是否完全相等

JAVA:比较两个1D数组是否完全相等,java,arrays,Java,Arrays,如何比较两个数组的精确相等性 起初我在想: int[] array1 = new int[]{2, 0}; int[] array2 = new int[]{2, 0}; if(array1 == array2) //do something 这不管用。如果不是数组中的值,有人能解释一下我在比较什么吗?另外,如何比较这两个数组以检查它们是否相同?您应该使用arrays.equalsarray1,array2,它将按照两个数组的元素出现顺序相互比较 当您将数组与==进行比较时,您正在比较引用,因

如何比较两个数组的精确相等性

起初我在想:

int[] array1 = new int[]{2, 0};
int[] array2 = new int[]{2, 0};
if(array1 == array2)
//do something
这不管用。如果不是数组中的值,有人能解释一下我在比较什么吗?另外,如何比较这两个数组以检查它们是否相同?

您应该使用arrays.equalsarray1,array2,它将按照两个数组的元素出现顺序相互比较


当您将数组与==进行比较时,您正在比较引用,因此只有当您将对象与自身进行比较时,它才会返回true,例如,array1==array1

哦,好的,我以前用过。equals,但我认为它只适用于比较字符串。谢谢@克劳顿事实上,这和弦的等号不一样。array1.equalsarray2也不起作用,因为它在对象类中使用equals的默认实现。你必须在Arrays类中使用静态方法。是的,我刚刚意识到它的工作原理不同。谢谢你对我的纠正。