Comparing integer Arrays in Java. Why does not == work?
I'm learning Java and just came up with this subtle fact about the language: if I declare two integer Arrays with the same elements and compare them using == the result is false . Why does this happen? Should not the comparison evaluate to true ? public class Why { public static void main(String[] args) { int[] a = {1, 2, 3}; int[] b = {1, 2, 3}; System.out.println(a == b); } } Thanks in advance! use Arrays.equals(arr1, arr2 ) method. == operator just checks if two references point to the same object. Test: int[] a = {1, 2, 3}; int[] b = a; System.out.println(a == b); //returns true as b and a