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即使它看起来与前面的情况相同?