将值放置在HashMap中之后更改值会更改HashMap内部的内容吗?

将值放置在HashMap中之后更改值会更改HashMap内部的内容吗?,第1张

将值放置在HashMap中之后更改值会更改HashMap内部的内容吗?

这里发生的事情是您在哈希图中放置了 指向 列表指针 ,而不是列表本身。

当您定义

List<SomeType> list;

您正在定义指向列表的指针,而不是列表本身。

当你做

map.put(somekey, list);

您只是存储 指针 的副本,而不是列表。

如果在其他地方跟随该指针并在其末尾修改该对象,则持有该指针的任何人仍将引用同一修改后的对象。

有关Java中传递值的详细信息,请参见http://javadude.com/articles/passbyvalue.htm。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5488797.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存