天天看點

java 合并對象_java合并相同對象不同屬性Bean

packagecom.network.utils;importjava.lang.reflect.Field;importjava.lang.reflect.Modifier;

public classCombineBeansUtil {

public static T combineSydwCore(T sourceBean, T targetBean){

Class extends Object> sourceBeanClass =sourceBean.getClass();

Class extends Object> targetBeanClass =targetBean.getClass();

Field[] sourceFields=sourceBeanClass.getDeclaredFields();

Field[] targetFields=targetBeanClass.getDeclaredFields();for(int i=0; i

Field sourceField=sourceFields[i];if(Modifier.isStatic(sourceField.getModifiers())){continue;

}

Field targetField=targetFields[i];if(Modifier.isStatic(targetField.getModifiers())){continue;

}

sourceField.setAccessible(true);

targetField.setAccessible(true);try{if( !(sourceField.get(sourceBean) == null) && !"serialVersionUID".equals(sourceField.getName().toString())){

targetField.set(targetBean,sourceField.get(sourceBean));

}

}catch (IllegalArgumentException |IllegalAccessException e) {

e.printStackTrace();

}

}returntargetBean;

}

}