public static void copy(Object src , Object tar){
try {
Class<?> srcClazz = src.getClass();
Class<?> tarClazz = tar.getClass();
Method[] srcMethods = srcClazz.getDeclaredMethods();
Method[] tarMethods = tarClazz.getDeclaredMethods();
for(Method method : srcMethods){
for(Method method1 : tarMethods){
String srcMethodName = method.getName();
String tarMethodName = method1.getName();
if(srcMethodName.indexOf("get")!=-1 && tarMethodName.indexOf("set")!=-1
&& srcMethodName.substring(2,srcMethodName.length()-1)
.equals(tarMethodName.substring(2,tarMethodName.length()-1 ))){
Object obj = method.invoke(src);
method1.invoke(tar,obj);
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}Java对象拷贝
原文:http://blog.51cto.com/12165865/2105109