2011年7月14日
摘要: 克隆就是复制一个对象的复本.但一个对象中可能有基本数据类型,如:int,long,float 等,也同时含有非基本数据类型如(数组,集合等)被克隆得到的对象基本类型的值修改了,原对象的值不会改变.这种适合shadow clone(浅克隆).但如果你要改变一个非基本类型的值时,原对象的值却改变了,.比如一个数组,内存中只copy他的地址,而这个地址指向的值并没有copy,当clone时,两个地址指向了一个值,这样一旦这个值改变了,原来的值当然也变了,因为他们共用一个值.,这就必须得用深克隆(deep clone)以下举个例子,说明以上情况:被克隆类:ShadowClone.javaclassSh 阅读全文
posted @ 2011-07-14 13:23 Kadin Zhu 阅读(1294) 评论(1) 推荐(0) 编辑