有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在不同的数组中存储相同的对象

对于以下代码:

User myUser = new User();
User[] array1 = new User[10];
User[] array2 = new User[10];
array1[5] = myUser;
array2[5] = myUser;

对象myUser存储了两次,还是每个对象上只存储了对象的地址

如果我开始摆弄变量,这是否仍然成立,比如:

temp = myUser;
array2[4] = temp;

另外,如果我在一个数组中对myUser进行了更改,它会对另一个数组进行更改吗

编辑:最后一个问题:如何通过值而不是引用来存储它


共 (1) 个答案

  1. # 1 楼答案

    是的,数组中只存储对User对象的引用。每个参考点都指向同一个对象。通过任一数组修改对象将修改同一个对象

    这同样适用于将引用存储在变量中,如第二个示例所示

    只有primitive types按值存储,例如intbooleanchar。请注意,它们也有相应的引用类型,例如,对于int,您有Integer