ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Hutool Beanutil.copyproperties() 是浅拷贝还是深拷贝 - Higurashi

Hutool Beanutil.copyproperties() 是浅拷贝还是深拷贝 - Higurashi

BeanUtil.copyProperties(source,target)拷贝对象中如果有子对象,那拷贝方式为:

  1. 当子对象(对象属性)类型不同时,调用反射拷贝属性,此时可以理解为深拷贝;
  2. 当子对象类型相同时,直接赋值对象引用,为浅拷贝。

对于 Bean 与 Bean 之间的拷贝,最终是由 BeanToBeanCopier 的 copy 方法完成处理:

copy 方法中,对各个属性,先获取源属性值,必要时进行类型转换,再赋值到目标属性中:

参考:BeanUtil 是深拷贝还是浅拷贝

返回列表