假设我有一个类如下:
public class class1{
private int[] array1;
public class1(){
array1 = new int[10];
}
public int[] getArray(){
return array1;
}
}
如果我在另一个类或main中创建这个类的实例,并使用getArray()方法将数组分配给上层类中的另一个变量,然后修改那里的数组值,原始数组值是否会改变?在第一类中也进行修改吗?
最佳答案
will the original array values in the first class be modified also?
是的,它会被修改,因为您在调用者中获得的不是数组本身的副本,而是获得对原始数组对象的引用的副本。
并且,如果您使用任何引用修改数组,则指向该数组的所有引用都会反射(reflect)更改。
关于java - 访问另一个类的数组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775797/