在平时后端开发的过程中,经常要把对象封装成DTO,VO对象,来与前端进行交互
下面就是自己封装的对象拷贝工具:
public class BeanCopyUtils {private BeanCopyUtils() {}public static <V> V copyBean(Object source,Class<V> clazz) {//创建目标对象V result = null;try {result = clazz.newInstance();//实现属性copyBeanUtils.copyProperties(source, result);} catch (Exception e) {e.printStackTrace();}//返回结果return result;}public static <O,V> List<V> copyBeanList(List<O> list,Class<V> clazz){return list.stream().map(o -> copyBean(o, clazz)).collect(Collectors.toList());}
}
使用的时候:
List<HotArticleVo> hotArticleVoList = BeanCopyUtils.copyBeanList(articles, HotArticleVo.class);
前面一个参数为被拷贝对象,后面一个参数为生成的结果对象