2013-10-21 21 views
0

我有兩個POJO具有相同的setter和getter現在我想將所有的bean值複製到另一個bean。將一個POJO的所有信息複製到另一個POJO的最佳方式是什麼?在java中設置相同的POJO

+0

對象?? – Batty

+2

沒有什麼不同的類 –

+0

向我們展示一些代碼,所以我們可以給你一些如何編寫適配器的例子。 – christopher

回答

3

U可以使用Apache的BeanUtils ...相同類或不同類的

+0

是的兄弟這是我正在尋找。謝謝。 –

2

這是使用Java Bean映射器(如orikaDozer)的完美情況。他們可以很好地自動執行此任務,並且可以避免大量代碼。

你可以基本上將隨機類的所有屬性複製到其他類,如果他們只有一行具有正確的getter和setter。

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; 
     }