for循环一个list,元素赋值给另一个对象,修改另一个对象,竟然可以修改list
for循环一个list,元素赋值给另一个对象,修改另一个对象,竟然可以修改list。
原因不是出在for的特殊功能,而是在于,对象1=对象2是假的对象复制(即对象克隆),给对象1=对象2,则这两个对象操作的就是一个数据块。
java的基本数据类型int、float等,String、Integer等类型除外。
http://blog.****.net/yageeart/article/details/8024393不谋而合。
对象1=对象2是假的对象复制(即对象克隆),要想真的克隆,就要用clone。
http://www.cnblogs.com/Qian123/p/5710533.html
原来对象复制这么多坑。
屏蔽策略:
不要使用对象复制,除非复制之后之前的对象我就抛弃了,不会再调用它了。即b=a之后,我不会再操做a了。
“交接”(一死一生)可以,“双活”不可以。