Since arrays do not override Object.equals(), calling equals on two arrays is the same as comparing their addresses. This means that array1.equals(array2) is equivalent to array1==array2.

However, some developers might expect Array.equals(Object obj) to do more than a simple memory address comparison, comparing for instance the size and content of the two arrays. To prevent such a misunderstanding, the '==' operator or Arrays.equals(array1, array2) must always be used in place of the Array.equals(Object obj) method.

Noncompliant Code Example

if(array1.equals(array2)){...}

Compliant Solution

if(Arrays.equals(array1, array2)){...}

or

if(array1 == array2){...}