原型模式

主宰稳场 提交于 2019-11-27 03:26:13

原型模式的作用,简化new一个对象的繁琐复杂的过程。

BeanUtils.copy()
JSON.parseObject()

都是原型模式。

返回结果false,可以看出t1t2的地址不同,只是将里面的属性值复制给了t2,但真的是这样么?

发现,当改变t2的classmate的时候,t1也随之改变了。

这里引出一个概念,浅克隆与深克隆。

浅克隆与深克隆的区别在于非基本对象的赋值时,浅克隆时赋值的地址。深克隆则是也只是复制对象内容而不是指向的地址。

可以采用流的方式完成深克隆

返回结果:

这样就能完成深克隆了!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!