public class ColaBeanUtils extends BeanUtils{ public static <S, T> List<T> copyListProperties(List<S> sources, Supplier<T> target) { return copyListProperties(sources, target, null); } /** * @author Johnson * 使用场景:Entity、Bo、Vo层数据的复制,因为BeanUtils.copyProperties只能给目标对象的属性赋值,却不能在List集合下循环赋值,因此添加该方法 * 如:List<AdminEntity> 赋值到 List<AdminVo> ,List<AdminVo>中的 AdminVo 属性都会被赋予到值 * S: 数据源类 ,T: 目标类::new(eg: AdminVo::new) */ public static <S, T> List<T> copyListProperties(List<S> sources, Supplier<T> target, ColaBeanUtilsCallBack<S, T> callBack) { List<T> list = new ArrayList<>(sources.size()); for (S source : sources) { T t = target.get(); copyProperties(source, t); if (callBack != null) { // 回调 callBack.callBack(source, t); } list.add(t); } return list; } }
java List集合copy工具类
于 2023-04-03 17:11:28 首次发布
ColaBeanUtils是扩展了BeanUtils的工具类,主要用于处理列表中对象的属性复制。它提供了一个方法copyListProperties,能将源列表对象(S类型)的属性复制到目标列表对象(T类型)。此方法适用于如Entity、Bo、Vo层数据的转换。在复制过程中,允许传入回调函数ColaBeanUtilsCallBack,以便在赋值后执行自定义操作。
摘要由CSDN通过智能技术生成