Arrays.copyOf会产生浅拷贝还是深拷贝?

Arrays.copyOf会产生浅拷贝还是深拷贝?,第1张

Arrays.copyOf会产生浅拷贝还是深拷贝?

它产生一个浅表副本,即一个包含“旧”引用的 数组(指向相同的对象,这些对象没有被复制)。

特别是,如果您有嵌套数组,则不会复制这些数组。您将得到一个新数组,其“顶级”指向与原始数组相同的“第二级”数组。这些嵌套数组内部的任何更改都将同时反映在副本和原始副本中。

该测试表明该副本很深:

不,不是的。当您将新对象分配给“原始”数组时,这不会影响副本。毕竟是副本。

这与以下情况相同:

String x = "foo";String y = x;x = "bar";assertEquals(y, "foo");

这里没有“深层副本”。



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

原文地址: http://outofmemory.cn/zaji/5478581.html

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

发表评论

登录后才能评论

评论列表(0条)

保存