java反射赋值
public static Object checkObjAllFieldsIsNull(Object into, Object complement, Object out) {
if (null == into || complement == null) {
return null;
}
Field[] getInto = into.getClass().getDeclaredFields();
Field[] getComplement = complement.getClass().getDeclaredFields();
Field[] getOut = out.getClass().getDeclaredFields();
try {
for (int i = 0; i < getInto.length; i++) {
getInto[i].setAccessible(true);
getOut[i].setAccessible(true);
getComplement[i].setAccessible(true);
if (getInto[i].get(into) != null && StringUtils.isNotBlank(getInto[i].get(into).toString())) {
getOut[i].set(out, getInto[i].get(into));
} else if (getComplement[i].get(complement) != null && StringUtils.isNotBlank(getComplement[i].get(complement).toString())) {
getOut[i].set(out, getComplement[i].get(complement));
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return out;
}