import com.alibaba.fastjson.util.DeserializeBeanInfo; import com.alibaba.fastjson.util.FieldInfo; import com.alibaba.fastjson.util.TypeUtils; import java.util.List; /** * 拷贝工具类 * */ public class CopyUtil { public static <B, S extends B> void copy(B bo, S so) throws IllegalAccessException { try { Class bc = bo.getClass(); if (bo == null || so == null) { return; } DeserializeBeanInfo deserializeBeanInfo = DeserializeBeanInfo.computeSetters(so.getClass()); List<FieldInfo> getters = TypeUtils.computeGetters(bo.getClass(), null); List<FieldInfo> setters = deserializeBeanInfo.getFieldList(); Object v; FieldInfo getterfield; FieldInfo setterfidld; for (int j = 0; j < getters.size(); j++) { getterfield = getters.get(j); for (int i = 0; i < setters.size(); i++) { setterfidld = setters.get(i); if (setterfidld.getName().compareTo(getterfield.getName()) == 0) { v = getterfield.getMethod().invoke(bo); setterfidld.getMethod().invoke(so, v); break; } } } } catch (Exception ex) { ex.printStackTrace(); } } }
子类copy 父类的属性值
最新推荐文章于 2022-09-22 14:44:55 发布