欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java list对象拷贝和对象拷贝

程序员文章站 2022-07-10 18:55:08
工具类:public final class BeanUtil { private BeanUtil() { } /** * @param source * @param clazz * @return * @throws IllegalAccessException * @throws InvocationTargetException * @throws Instantia....
工具类:public final class BeanUtil<T extends Serializable> {

   private BeanUtil() {
   }

   /**
    * @param source
    * @param clazz
    * @return
    * @throws IllegalAccessException
    * @throws InvocationTargetException
    * @throws InstantiationException
    */
   public static <T> T copyProperties(Object source, Class<T> clazz) {
      if (source == null) {
         return null;
      }
      T t = null;
      try {
         t = clazz.newInstance();
         BeanUtils.copyProperties(source, t);
      } catch (Exception e) {
         log.error("请求失败", e);
      }
      return t;
   }

   /**
    * @param source
    * @param clazz
    * @return
    * @throws IllegalAccessException
    * @throws InvocationTargetException
    * @throws InstantiationException
    */
   public static <T> List<T> copyProperties(List<?> source, Class<T> clazz) {
      if (source == null || source.size() == 0) {
         return Collections.emptyList();
      }
      List<T> res = new ArrayList<>(source.size());
      for (Object o : source) {
         T t = null;
         try {
            t = clazz.newInstance();
            BeanUtils.copyProperties(o, t);
         } catch (Exception e) {
            log.error("请求失败", e);
         }
         res.add(t);
      }
      return res;
   }

}

 

具体实现:

BeanUtil.copyProperties(record, CourseChapterPeriodPicVO.class);

其中record的被转化的对象 CourseChapterPeriodPicVO是转化成的对象 就是把record转化为CourseChapterPeriodPicVO

BeanUtil.copyProperties(schoolFileInfos, SchoolFileInfoDTO.class); 这是list之间的转

本文地址:https://blog.csdn.net/Jzq0006/article/details/107686722

相关标签: idea java