서로 다른 유형의 List 복사

 /**
  * @description
  * <pre>
  * source list 중 target list와 항목명이 같은 데이터를 복사
  * </pre>
  * @param srcList : source list
  * @param trgtList : target list
  * @param pTargetType : target type
  */
  public static <E, T> void copyData(List<E> srcList, List<T> trgtList, Class<T> pTargetType) {
    try {
      for( E src : srcList) {
        T trgt = (T) pTargetType.newInstance();
        BeanUtils.copyProperties(src, trgt);
        trgtList.add(trgt);
      }
    } catch (BeansException be) {
      logger.debug(be.getMessage(), be);
    } catch (Exception e) {
      logger.debug(e.getMessage(), e);
    }
  }

사용예)
  List<TrgtVo> trgtList = new ArrayList<TrgtVo>();
  List<SrcVo> srcList = svc.getList(paramVo);
  ErpUtils.copyData(srcList, trgtList, TrgtVo.class);

관련글 : 서로 다른 유형의 object 복사

서로 다른 유형의 object 복사

 /**
  * @description
  * <pre>
  * source 중 target과 항목명이 같은 데이터를 복사.
  * </pre>
  * @param source 원본 data
  * @param target 타겟 data
  */
  public static void copyData(Object source, Object target) {   
    try {
      BeanUtils.copyProperties(source, target);
    } catch (BeansException be) {
      logger.debug(be.getMessage(), be);
    } catch (Exception e) {
      logger.debug(e.getMessage(), e);
    }
  }

사용예)
  SrcVo src = svc.getData(param);
  TrgtVo trgt = new TrgtVo();
  ErpUtils.copyData(src, trgt);

관련글 : 서로 다른 유형의 List 복사