Comparing integer Arrays in Java. Why does not == work?

前端 未结 3 2016
梦毁少年i
梦毁少年i 2020-12-06 12:21

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 == t

3条回答
  •  醉梦人生
    2020-12-06 13:20

    Use Arrays.equals(arr1, arr2) method.

    The == 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 refer to the same array  
    
    int[] a = {1, 2, 3};
    int[] b = {1, 2, 3};
    System.out.println(Arrays.equals(a, b));   //returns true as a and b are meaningfully equal
    

提交回复
热议问题