怎么做对象的深拷贝?

深拷贝的实现方案:

借助Apache Commons包,内部为反射的实现: 
org.apache.commons.beanutils.PropertyUtils.copyProperties(Object dest, Object orig) 
org.apache.commons.beanutils.BeanUtils.copyProperties(Object dest, Object orig) 

借助CGLIB,字节码代理模式:(效率更高) 
使用net.sf.cglib.beans.BeanCopier.copy(Object paramObject1, Object paramObject2, Converter paramConverter),这个工具类可以实现同类型拷贝,也可以实现不同类型的拷贝,添加转换器还可以实现不同属性的拷贝。不过copier创建的代价较高,应该把copier缓存起来,在已用过的类型上不反复创建copier

你可能感兴趣的:(Java基础,Java,深拷贝)