1、通過反射對同一類型的對象進行資料整合
/**
* 以destination對象為主
*/
public <T> void mergeObject(T origin, T destination) {
if (origin == null || destination == null)
return;
if (!origin.getClass().equals(destination.getClass()))
return;
Field[] fields = destination.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
try {
fields[i].setAccessible(true);
Object valueD = fields[i].get(origin);
Object valueO = fields[i].get(destination);
if (null == valueO) {
fields[i].set(destination, valueD);
}
fields[i].setAccessible(false);
} catch (Exception e) {
e.printStackTrace();
}
}
}