c# – 什么是数组的浅层副本
发布时间:2020-12-15 08:07:14 所属栏目:百科 来源:网络整理
导读:当您调用ArrayList的clone()方法时,将创建列表的浅表副本. 什么是数组的浅层副本? 解决方法 你应该区分两种副本:浅和深. 深拷贝为整个数组及其所有内容分配新空间(如果它包含引用,则分配新空间以创建具有相同值的复制的实例),浅拷贝只分配与复制的相同大小
当您调用ArrayList的clone()方法时,将创建列表的浅表副本.
什么是数组的浅层副本? 解决方法
你应该区分两种副本:浅和深.
深拷贝为整个数组及其所有内容分配新空间(如果它包含引用,则分配新空间以创建具有相同值的复制的实例),浅拷贝只分配与复制的相同大小的空间阵列. 例: 数组A已被分配为仅包含两个mutable objects(例如:列表或arraylist). 在第一种情况下,例如: A是从参考0x0000AA开始的数组 ElementOne从0x00BBCC开始 ElementTwo从0x00BBFF开始 如果执行浅拷贝: B(新数组)将从引用0x0000BB开始, 如果执行深层复制,它不仅会为数组分配新空间,而且还会分配空间来包含新实例(新列表,新的arraylist ……). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |