Commons BeanUtils(ちょっとだけ)

 Java Beanをコピーして複製を作成するには、Commons BeanUtilsにユーティリティメソッドが用意されているので、 これを使うとよいでしょう。 Java Beanは、Cloneableを実装している必要はありません。

UserRecordBean a = new UserRecordBean();
a.setPersonId("A0001234");
a.setName("テストユーザ");
a.setMailAddress("abc@def.co.jp");
a.setGroupCode("5");
UserRecordBean b = (UserRecordBean) BeanUtils.cloneBean(a);
System.out.println(b.getPersonId());
System.out.println(b.getName());
System.out.println(b.getMailAddress());
System.out.println(b.getGroupCode());

// ここでaのプロパティを変更しても
a.setMailAddress("hij@klm.co.jp");
a.setName("テストユーザ2");
// bのプロパティの値には影響しない
System.out.println(b.getMailAddress());
System.out.println(b.getName());

このように、BeanUtils.cloneBean()メソッドだけで複製ができます。 なお、複製はいわゆるシャロー・コピーです。 プロパティの値が参照だった場合、参照としてコピーされます。つまりアドレスは共有されます。

Java kowaza Top

(first uploaded 2005/02/26 last updated (not ever), URANO398)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル