为什么a=b之后,数组a与数组b完全相同,而a[0]=b[0]之后a的地址与a[0]的地址不一样?java中二维数a不是组首地址吗?为什么这里却和第一个一维数组a[0]的首地址不一样?
首先,a 和 b 都是数组,本质是地址,定义的时候是两个数值对象,所以 a==b 肯定是 false .
其次,执行了 a=b ,本质是对数组 a 重新赋值为 b ,这里改变的是指针的指向,a 和 b 指向了同一个地址,所以 a==b 是 true.
第三 a[0] 和 b[0] 是对两个地址空间中对应的位置的值赋值。