首页 > 编程语言 >java拷贝对象列表List copyProperties

java拷贝对象列表List copyProperties

时间:2023-09-01 20:31:41浏览次数:52  
标签:java List param 列表 sources copyProperties clazz targets


<!--hutool-->
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.0.6</version>
</dependency>

/**
 * @Author: Fcx
 * @Date: 2019/11/20 20:45
 * @Version 1.0
 */
public class CopyListUtil {
    private CopyListUtil() {
    }
    /**
     * 列表对象拷贝
     * @param sources 源列表
     * @param clazz 目标列表对象Class
     * @param <T> 目标列表对象类型
     * @param <M> 源列表对象类型
     * @return 目标列表
     */
    public static <T, M> List<T> copyListProperties(List<M> sources, Class<T> clazz) {
        if (Objects.isNull(sources) || Objects.isNull(clazz) || sources.isEmpty()) {
            throw new IllegalArgumentException();
        }
        List<T> targets = new ArrayList<>(sources.size());
        for (M source : sources) {
            T t = ReflectUtil.newInstance(clazz);
            BeanUtil.copyProperties(source,t);
            targets.add(t);
        }
        return targets;
    }
}

标签:java,List,param,列表,sources,copyProperties,clazz,targets
From: https://blog.51cto.com/u_16110904/7326156

相关文章

  • java线程的ThreadLocal是线程变量
    java线程的localThread是线程局部变量,只能在线程内访问,方法有getsetremove.证明localThread只能在线程内访问的方法,在control层设置一个ThreadLocal,然后在service可以访问到ThreadLocal设置的值,另外就是浏览器的一次请求就是一个线程的请求.......
  • JavaScript—函数
    函数的概念在js里面,可能会定义非常多的相同代码或功能相似的代码,这些代码需要大量重复地使用。函数就是封装了一段可被重复调用的代码块。通过代码块实现大量代码的重复使用。函数示例//常规方法varsum=0;for(vari=1;i<=100;i++){sum+=......
  • JavaScript—节点
    节点的概念节点:网页中的所有内容都是节点,例如标签、属性、文本、注释、回车、换行、空格等。节点属性:可以用标签--元素.出来,可以使用属性节点.出来,文本节点.点出来。nodeType:节点的类型:1-标签DIV-12-属性:class3-文本:innerTextnodeName:节点的名字:标签节点-大写的......
  • ETM5900谈谈用java处理excel问题
    ETM5900  Assignment1Question1[Total23Marks]Agroupofresearchersareinterestedinstudyingtheprevalenceofobesity,diabetes,andothercardiovascularriskfactorsinSubangJaya,Selangor.Togainmoreinsightintothisquestion,1150subjectswe......
  • JavaScript—DOM
    传统获取方式传统方式元素获取方式<bodyclass="mybody"><inputtype="button"value="点击"id="btn"><divid="dv1"name="mydiv"class="cls"><p>111</p>......
  • JavaScript—BOM
    概念BOM(BrowserObjectModel)是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的window对象是BOM的顶层对象,其他对象都是该对象的子对象。我们在浏览器中的一些操作都可以使用BdM的方式进行编程......
  • JavaScript—轮播图
    概念轮播图(Carousel)是一种常见的网页设计元素,用于展示多张图片或信息。它通常由一个容器和一组水平排列的图片或内容组成。轮播图中的图片会按照一定的规律(例如自动轮播、点击切换或滑动切换等)进行切换,以便在有限的空间内展示多个内容。HTML元素网页元素<divclass="wrap">......
  • JavaScript—数组
    数组的概念数组是指一组数据的集合,其中的每一个数据称作元素在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的方式。创建数组创建数组vararr=newArray();//使用new创建一个空数组vararr0=[];//利用数组字面量创建数组vara......
  • JavaScript—作用域
    JavaScript作用域:就是代码名字(变量)在某个范围内起作用和效果。目的是/为了提高程序的可靠性同时减少命名冲突。JavaScript作用域在(es6)之前:全局作用域和局部作用域。全局作用域:整个Script标签或者一个单独的js文件。局部作用域:在函数内部就是局部作用域。这个代码名字只在函数......
  • JavaScript—内置对象
    内置对象是什么JavaScript中的对象分为三种:自定义对象,内置对象和浏览器对象。前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的。内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)。内置......