反射拷贝同名称字段值,
public static <T> boolean copyPropertiesNotNull(T source,T target,String ...params){
Field[] fields = source.getClass().getDeclaredFields();//获取源所有字段
Method m;
Object value = null;
try
{
for(Field f : fields){
String name = f.getName();//获取字段名称
if(name.indexOf("List") > -1){
continue;
}
m =source.getClass().getDeclaredMethod("get"+name);//获取方法
m.setAccessible(true);
value = m.invoke(source);
if(value != null){//不为空
m = target.getClass().getDeclaredMethod("set"+name, String.class);
m.setAccessible(true);
m.invoke(target, value);
}
}
}catch(Exception e){
e.printStackTrace();
}
return true;
}