gpt4 book ai didi

java - 修改引用对象是否会影响创建新对象的原始对象?

转载 作者:行者123 更新时间:2023-11-30 06:14:55 25 4
gpt4 key购买 nike

我在理解一件事上有问题。

我有:

List<Map> resultList = new ArrayList<Map>();

然后这个resultList填充了一些数据

resultList.addAll(somemethod(something, something, else));

稍后在方法中我有这种代码:

Map timeSpan = someMethod(resultList, date);
timeSpan.put(KEY_ART, VALUE_ART);
timeSpan.put(KEY_TIMESPAN, true);

所以我现在有一个问题。如果Map timeSpan是引用 List<Map> resultList 元素的 map , 正在使用 put() timeSpan 上的方法 map 影响 resultList 中的元素?

我问这个问题是因为一位同事告诉我这是这样工作的 - 修改 timeSpan 中的一个元素也在 resultList 中修改此元素.她经验丰富得多,我不仅想相信她,还想了解为什么会这样。

最佳答案

您必须记住,resultList 是对对象的引用。您可以复制此引用并在许多地方以多种方式使用它,但只有一个对象。这意味着当您更改对象时,该对象只有一个 View 。

关于java - 修改引用对象是否会影响创建新对象的原始对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29603382/

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