int a[]={1, 2, 3, 4, 5};
int b[]={4, 3, 2, 1, 0};
a=b;
System.out.println("a[0] = "+a[0]);
这a[0] = 4
很明显,因为a
分配了对 的引用b
。
如果修改如下
int a[]={1, 2, 3, 4, 5};
int b[]={4, 3, 2, 1, 0};
System.out.println("a[(a=b)[0]] = "+a[(a=b)[0]]); //<-------
然后,它显示a[(a=b)[0]] = 5
.
为什么这个表达式 - a[(a=b)[0]]
yield 4
,第 0个元素,b
即使它看起来与前面的情况相同?