equals vs Arrays.equals in Java

arrays, equality, java

Solution

`array1.equals(array2)` is the same as `array1 == array2`, i.e. is it the same array. As @alf points out it's not what most people expect.

`Arrays.equals(array1, array2)` compares the contents of the arrays.

Similarly `array.toString()` may not be very useful and you need to use `Arrays.toString(array)`.

Problem

When comparing arrays in Java, are there any differences between the following 2 statements? ``` Object[] array1, array2; array1.equals(array2); Arrays.equals(array1, array2); ``` And if so, what are they?

Original source