/** * @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 복사