指定するフィールドだけ、Bean の値を入れ替えたい。
この要求が頻繁に発生したら、、、
public static <T> T replaceBean(T t1,T t2,String...fieldnames) throws Exception{
if (fieldnames.length==0) return t1;
Class cls = t1.getClass();
for(String s : fieldnames){
Method getter = cls.getDeclaredMethod(
"get"+s.substring(0,1).toUpperCase()+s.substring(1));
Method setter = cls.getDeclaredMethod(
"set"+s.substring(0,1).toUpperCase()+s.substring(1)
,new Class[]{getter.getReturnType()});
setter.invoke(t2,getter.invoke(t1));
}
return t2;
}