转载自: https://blog.csdn.net/qq_41841235/article/details/103089813
/**
* 以destination对象为主
*/
public static T mergeObject(T origin, T destination) {
if (origin == null || destination == null)
return null;
if (!origin.getClass().equals(destination.getClass()))
return null;
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();
}
}
return destination;
}
public static void main(String[] args) {
AddCompanyParams companyParams1 = new AddCompanyParams();
companyParams1.setXzqhid(“111”);
companyParams1.setFddbrmc(“sasas”);
companyParams1.setGscadlmm(“665”);
AddCompanyParams companyParams2 = new AddCompanyParams();
companyParams2.setXzqhid(“111”);
companyParams2.setFddbrmc(“ccc”);
AddCompanyParams companyParams3 = ## 标题mergeObject(companyParams1,companyParams2);
System.out.println(companyParams3.toString());
}