在Java中为另一个数组分配数组引用
发布时间:2020-12-15 04:14:30 所属栏目:Java 来源:网络整理
导读:int a[]={1,2,3,4,5};int b[]={4,1,0};a=b;System.out.println("a[0] = "+a[0]); 这显示[0] = 4是显而易见的,因为a被赋予对b的引用. 如果修改如下 int a[]={1,0}; System.out.println("a[(a=b)[0]] = "+a[(a=b)[0]]); //------- 然后,它显示[(a = b)[0]] = 5
int a[]={1,2,3,4,5}; int b[]={4,1,0}; a=b; System.out.println("a[0] = "+a[0]); 这显示[0] = 4是显而易见的,因为a被赋予对b的引用. 如果修改如下 int a[]={1,0}; System.out.println("a[(a=b)[0]] = "+a[(a=b)[0]]); //<------- 然后,它显示[(a = b)[0]] = 5. 为什么这个表达式 – [[a = b] [0]]不会产生4,即b的第0个元素,即使它看起来与前一个案例相同? 解决方法
第二个表达式在数组索引器表达式中具有赋值表达式.表达式的计算结果如下:
>选择索引器表达式的目标.这是原始阵列a 从本质上讲,您的单行表达式相当于这个两行代码段: System.out.println("a[(a=b)[0]] = "+a[b[0]]); // Array reference completes first a=b; // Array assignment is completed last (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |