赋值、深拷贝和浅拷贝
赋值、深拷贝和浅拷贝
1.简介
深拷贝与浅拷贝的根本区别:创建新的内存空间
未创建内存空间,只是复制对象引用的被称为浅拷贝,拷贝前后的的两个对象相互影响
创建内存空间,将值存入新的内存空间的被称为深拷贝,拷贝前后的两个对象互不影响
2.copyProperties()对象拷贝方法
1.Apache BeanUtils
是一种方便我们对JavaBean进行操作的工具类。
实际开发中我们应选择 Spring BeanUtils
,一方面不需要额外引入依赖包,另一方面性能会比Apache BeanUtils 性能好
2.BeanUtils.copyProperties("转换前的类", "转换后的类");
当拷贝的对象中含有子对象时,进行浅拷贝(对象直接赋值(对象A=对象B)也是浅拷贝)
当拷贝的对象中不含有子对象时,进行深拷贝