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){...}
----


== See

* https://www.securecoding.cert.org/confluence/x/9gEqAQ[CERT, EXP00-J.] - Do not ignore values returned by methods

