java实体对象合并方法

时间:2025-02-16 11:57:01
/** * 合并对象 * * @param sourceBean 数据源对象 * @param targetBean 需要得到的对象 * @return */ private static Object mergerData(Object sourceBean, Object targetBean) { Field[] sourceFields = sourceBean.getClass().getDeclaredFields(); Field[] targetFields = targetBean.getClass().getDeclaredFields(); try { for (int i = 0; i < sourceFields.length; i++) { Field sourceField = sourceFields[i]; //这里遍历主要是为了适应双方对象属性顺序不一致的情况 for (int j = 0; j < targetFields.length; j++) { Field targetField = targetFields[j]; if (sourceField.getName().equals(targetField.getName())) { sourceField.setAccessible(true); targetField.setAccessible(true); if (!(sourceField.get(sourceBean) == null)) { targetField.set(targetBean, sourceField.get(sourceBean)); } } } } } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return targetBean; }