package com.yj.wiki.utils;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 制作CopyUtil 封装BeanUtils
* @param <T>
*/
public class CopyUtil<T> {
/**
* 对象复制
* @param source 源对象
* @param clazz 需要转换的类
* @param <T>
* @return
*/
public static <T> T copy(Object source, Class<T> clazz){
T obj = null;
if(source == null){
throw new RuntimeException("源对象不能为空");
}
try {
obj = clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
BeanUtils.copyProperties(source, obj);
return obj;
}
/**
* 列表的复制
* @param source 源对象集合
* @param tClass 转换的对象类
* @param <T>
* @return
*/
public static <T> List<T> copyList(List source,Class<T> tClass){
List<T> target = new ArrayList<>();
if(!CollectionUtils.isEmpty(source)){
for (Object obj: source
) {
target.add(copy(obj,tClass));
}
}
return target;
}
}
CopyUtils封装BeanUtils
最新推荐文章于 2024-03-04 16:59:31 发布