Java原始数据类型的数组
|
为什么下一个代码像使用引用类型而不是原始类型一样工作?
int[] a = new int[5];
int[] b = a;
a[0] = 1;
b[0] = 2;
a[1] = 1;
b[1] = 3;
System.out.println(a[0]);
System.out.println(b[0]);
System.out.println(a[1]);
System.out.println(b[1]);
输出为:
2
2
3
3
而不是
1个
2
1个
3
没有找到相关结果
已邀请:
4 个回复
很缴
,您正在复制引用,并且两个数组都指向同一块内存。
嘘崇蔡对
创建对创建数组array3的引用 将整数添加到数组“ a”,位置0 覆盖先前添加的整数,因为b [0]指向与a [0]相同的位置 将整数添加到数组“ a”的位置1 再次覆盖先前添加的整数,因为b [1]指向与a [1]相同的位置
缮淳彼誊
创建新实例 如果您需要新实例(以及您的预期结果),请添加
:
祝好运
惭法搽
和
都指向同一数组。更改
或
的值将更改另一个的相同值。