public static Payv2PayOrder turnToOrder(Payv2PayOrderOld old){
Payv2PayOrder order = new Payv2PayOrder();
// 利用反射获取order的所有属性
// 利用反射获取order_old的所有属性
try {
Field[] orderFile = order.getClass().getDeclaredFields();
Field[] oldFile = old.getClass().getDeclaredFields();
String orderName = null;
String oldName = null;
for(Field file : orderFile){
orderName = file.getName();
orderName = orderName.substring(0, 1).toUpperCase() + orderName.substring(1);
String type = file.getGenericType().toString();
if(!"SerialVersionUID".equals(orderName)){
for(Field file1 : oldFile){
oldName = file1.getName();
oldName = oldName.substring(0, 1).toUpperCase() + oldName.substring(1);
// 若属性值相同,将order_old的值赋予order
if(orderName.equals(oldName)){
Method get = old.getClass().getMethod("get" + oldName);
if (type.equals("class java.lang.Long")) {
Method set = order.getClass().getMethod("set"+orderName,Long.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.lang.String")) {
Method set = order.getClass().getMethod("set"+orderName,String.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.lang.Integer")) {
Method set = order.getClass().getMethod("set"+orderName,Integer.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.lang.Double")) {
Method set = order.getClass().getMethod("set"+orderName,Double.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.util.Date")) {
Method set = order.getClass().getMethod("set"+orderName,Date.class);
set.invoke(order, get.invoke(old));
break;
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return order;
}
Payv2PayOrder order = new Payv2PayOrder();
// 利用反射获取order的所有属性
// 利用反射获取order_old的所有属性
try {
Field[] orderFile = order.getClass().getDeclaredFields();
Field[] oldFile = old.getClass().getDeclaredFields();
String orderName = null;
String oldName = null;
for(Field file : orderFile){
orderName = file.getName();
orderName = orderName.substring(0, 1).toUpperCase() + orderName.substring(1);
String type = file.getGenericType().toString();
if(!"SerialVersionUID".equals(orderName)){
for(Field file1 : oldFile){
oldName = file1.getName();
oldName = oldName.substring(0, 1).toUpperCase() + oldName.substring(1);
// 若属性值相同,将order_old的值赋予order
if(orderName.equals(oldName)){
Method get = old.getClass().getMethod("get" + oldName);
if (type.equals("class java.lang.Long")) {
Method set = order.getClass().getMethod("set"+orderName,Long.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.lang.String")) {
Method set = order.getClass().getMethod("set"+orderName,String.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.lang.Integer")) {
Method set = order.getClass().getMethod("set"+orderName,Integer.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.lang.Double")) {
Method set = order.getClass().getMethod("set"+orderName,Double.class);
set.invoke(order, get.invoke(old));
break;
}
if (type.equals("class java.util.Date")) {
Method set = order.getClass().getMethod("set"+orderName,Date.class);
set.invoke(order, get.invoke(old));
break;
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return order;
}