我是java的新手,并不完全了解这是如何工作的。
int[] x = {5, 6, 7, 8, 9};
int[] y = x;
y[2] = 10;
在代码中,为什么x[2]
现在等于10,y[2]
等于10?
我不明白为什么它不仅设置y[2] = 10
而离开x[2] = 6
。
这是因为y数组是对x数组的引用吗?
答案 0 :(得分:4)
这是因为y数组是对x数组的引用吗?
是。第int[] y = x;
行恰好说明了这一点。
如果您想要副本,可以
int[] y = Arrays.copyOf(x, x.length);
答案 1 :(得分:0)