一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 357|回复: 2
收起左侧

[学Java/C#] List 的 clone()

[复制链接] |试试Instant~ |关注本帖
inkhay 发表于 2015-8-7 01:55:15 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
各路大神请指教,既然shallow copy是类似于只传递指针,相当于相同的东西只是换了个变量名称,为什么还是要有这样的copy,例如 List 的clone() 存在,shallow copy用在什么地方呢?
求指教
georgmaster 发表于 2015-8-7 02:31:49 | 显示全部楼层
shallow copy:

List<String> list1 = new ArrayList<String>();
list1.add("hello");
List<String> list2 = list1;
list2.add(" world!");
for(String s: list1){
System.out.print(s);
}
System.out.println();
for(String s: list2){
System.out.print(s);
}
Output:
hello world!
hello world!

Deep copy:

List<String> list1 = new ArrayList<String>();
list1.add("hello");
List<String> list2 = new ArrayList<String>(list1);
list2.add(" world!");
for(String s: list1){
System.out.print(s);
}
System.out.println();
for(String s: list2){
System.out.print(s);
}
Output:
hello
hello world!
回复 支持 反对

使用道具 举报

georgmaster 发表于 2015-8-7 02:34:08 | 显示全部楼层
我觉得clone的浅复制就和equals默认比较内存地址一样吧,继承自object类等你自己实现的。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-4 23:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表