数据复制工具

//接口,集合之间的数据复制

public interface ColaBeanUtilsCallBack {

void callBack(S t,T s);

}

//实现类

/*

* 集合赋值到集合工具* 老的对象  新的集合对象* */

public class ColaBeanUtils extends BeanUtils {

public static ListcopyListProperties(Listsources, Suppliertarget) {

return copyListProperties(sources, target, null);

    }

/**

    * 使用场景:Entity、Bo、Vo层数据的复制,因为BeanUtils.copyProperties只能给目标对象的属性赋值,却不能在List集合下循环赋值,因此添加该方法

    * 如:List<AdminEntity> 赋值到 List<AdminVo> ,List<AdminVo>中的 AdminVo 属性都会被赋予到值

    * S: 数据源类 ,T: 目标类::new(eg: AdminVo::new)

*/

    public static ListcopyListProperties(Listsources, Suppliertarget, ColaBeanUtilsCallBackcallBack) {

Listlist =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;

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容