在java中设置相同的属性POJO

时间:2013-10-21 10:36:47

标签: java copy pojo

我有两个具有相同setter和getter的POJO现在我想将所有bean值复制到另一个bean。什么是将一个POJO的所有信息复制到另一个POJO的最佳方法。

3 个答案:

答案 0 :(得分:3)

你可以使用Apache BeanUtils ......

答案 1 :(得分:2)

使用Java Bean映射器(如orikaDozer)是完美的情况。他们可以很好地自动执行此任务,您可以避免大量代码。

如果具有正确的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;
        }