我有两个具有相同setter和getter的POJO现在我想将所有bean值复制到另一个bean。什么是将一个POJO的所有信息复制到另一个POJO的最佳方法。
答案 0 :(得分:3)
你可以使用Apache BeanUtils ......
答案 1 :(得分:2)
使用Java Bean映射器(如orika或Dozer)是完美的情况。他们可以很好地自动执行此任务,您可以避免大量代码。
如果具有正确的getter和setter只有一行,你基本上可以将随机类的所有属性复制到其他类。
答案 2 :(得分:0)
在此处实施深层复制。这将是最好的,因为POJO内的所有子POJO也将被复制,并且不会有任何损失。
public CloneExample deepCopy() {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(this);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
return (CloneExample) ois.readObject();
} catch (IOException e) {
return null;
} catch (ClassNotFoundException e) {
return null;
}