for循环一个list,元素赋值给另一个对象,修改另一个对象,竟然可以修改list

for循环一个list,元素赋值给另一个对象,修改另一个对象,竟然可以修改list。








原因不是出在for的特殊功能,而是在于,对象1=对象2是假的对象复制(即对象克隆),给对象1=对象2,则这两个对象操作的就是一个数据块。


java的基本数据类型int、float等,String、Integer等类型除外。


http://blog.csdn.net/yageeart/article/details/8024393不谋而合。



对象1=对象2是假的对象复制(即对象克隆),要想真的克隆,就要用clone。

http://www.cnblogs.com/Qian123/p/5710533.html


原来对象复制这么多坑。

屏蔽策略:

不要使用对象复制,除非复制之后之前的对象我就抛弃了,不会再调用它了。即b=a之后,我不会再操做a了。


“交接”(一死一生)可以,“双活”不可以。







  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值