封装hutool中的BeanUtils的copyProperties方法
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.stream.Collectors;
public class BeanCopyUtils {
private BeanCopyUtils(){
}
public static <O,V> List<V> copyBeanList(List<O> list,Class<V> clazz){
return list.stream().map(o-> copyBean(o,clazz)).collect(Collectors.toList());
}
//利用反射实现深拷贝
public static <V> V copyBean(Object source,Class<V> clazz){
V result=null;
//创建目标对象
try {
result= clazz.newInstance();
//实现属性拷贝
BeanUtils.copyProperties(source,result);
}catch (Exception e) {
throw new RuntimeException(e);
}
//返回结果
return result;
}
}