gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:27:25 25 4
gpt4 key购买 nike

对于下面的代码:

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 进行了更改,它是否会对另一个数组进行更改?

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

最佳答案

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

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

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

关于java - 将相同的对象存储在不同的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com