// 下階層用テンプレート #topicpath ---- //ここにコンテンツを記述します。 #contents **ある型だけ特殊な処理をさせる [#o9b2c220] コピーもとの型がjava.util.Dateだったとして、コピー先の型が単なるStringだって場合などはよくありそうですが、その場合には下記のConverterの機能で対応することができます。たとえば、 public class SrcBean2 { private Date date; //Getter/Setterは省略 } public class DestBean2 { private String date; //Getter/Setterは省略 @Override public String toString() { return new ToStringBuilder(this).append("date", date).toString(); } } こんな場合ですね。 やり方は以下の通り。 public class Main2 { public static void main(String[] args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { SrcBean2 src = new SrcBean2(); src.setDate(new Date()); DestBean2 dest = new DestBean2(); ConvertUtilsBean convertUtilsBean = new ConvertUtilsBean(); convertUtilsBean.deregister(String.class); convertUtilsBean.register(new MyStringConverter(), String.class); // DestがStringの時に呼ばれる処理。 BeanUtilsBean beanUtilsBean = new BeanUtilsBean(convertUtilsBean, new PropertyUtilsBean()); beanUtilsBean.copyProperties(dest, src); System.out.println(dest); } } class MyStringConverter implements Converter { public Object convert(Class type, Object value) { // Dateをなんか人間が見やすいモノに変えて返せばいい return "Hello. " + value; } } ---- この記事は #vote(おもしろかった,そうでもない) #comment #topicpath SIZE(10){現在のアクセス:&counter;}