int[] a = {1,2,3};
int[] b = a;
System.out.println(a == b);
此时输出true
int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(a == b);
此时输出为false
这是因为数组的机制,int[] b = a ,相当于让b和a同时管理这个数组,a和b都是代表同一个数组,所以a==b是正确的,此时对数组b修改也就是对数组a修改。
但是int[] a = {1,2,3},int[] b = {1,2,3},相当于给a数组和b数组单独分配地址,此时a和b是独立的,即使数组的值相等也不等于他们是同一个数组,数组a不可能等于数组b。