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?
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)
.