我正在设置一个数组等于另一个数组。
所以让我们说数组 B = 数组 C。
然后,如果我对数组 B 进行操作,改变它的值,C 也会改变吗?
我想说绝对不是,但我脑子里放了个屁,我觉得我的代码现在正在发生的事情。
最佳答案
是的,它们被改变了。
数组是一个对象,因此在赋值“数组 B = 数组 C”之后只分配引用。两个变量将持有相同的引用。因此,您将拥有一个对象和两个引用
更新
对于“真实副本”,您需要使用 System.arraycopy()
或 Arrays.copyOf()
int[] arrayC = {1,2,3,4,5,6,7,8,9,10};
int[] arrayB = new int[arrayC.length];
System.arraycopy(arrayC, 0, arrayB, 0, arrayC.length );
关于java - 更改已设置为相等的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32748874/