clone的目的是复制对象,复制的程度又有深复制、浅复制之分。具体有哪些实现方式?
- java原生的方式
法1:使用object中的clone方法,属于浅复制。类需要实现cloneable接口
法2:使用序列化与反序列化,反序列化后生成新对象,属于深复制。类需要实现Serializable
- 工具类
法1:使用Spring项目中的BeanUtils.copyProperties(source, target); 属于深复制。
法2:使用cglib包,效率比反射方式高。属于深复制。
final BeanCopier copier = BeanCopier.create(Student.class, Student.class, false);
beanCopier.copy(student, studentcopy, null);
文章探讨了在Java中复制对象的不同方法,包括Object类的clone方法(浅复制)、通过序列化和反序列化实现深复制,以及使用Spring的BeanUtils和CGLIB库进行深复制。这些技术在处理复杂对象结构时各有优缺点,如效率和是否需要实现特定接口等。
478

被折叠的 条评论
为什么被折叠?



