/**
* Canary.com Inc.
* Copyright (c) 2004-2014 All Rights Reserved.
*/
package com.canary.canaryapi.comm.utils.copy;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import com.canary.canaryapi.comm.lang.LoggerUtils;
/**List集合copy
*
*
* @version $Id: ListCopyUtil.java, v 0.1 2014年11月15日 上午
*/
public class ListCopyUtil {
/** logger */
private static final Logger logger = Logger.getLogger(ListCopyUtil.class);
/**copy集合
*
* @param sourceList 源集合
* @param targetList 目标集合
* @param targetObj 目标集合中对象
*/
public static <S, T> void copyProperties(List<S> sourceList, List<T> targetList,
Class<T> targetObj) {
try {
if (!CollectionUtils.isEmpty(sourceList)) {
for (S s : sourceList) {
T t = targetObj.newInstance();
BeanUtils.copyProperties(s, t);
targetList.add(t);
}
}
} catch (Throwable e) {
LoggerUtils.error(e, logger, e.getMessage());
}
}
/* public static void main(String[] args) {
List<User> list1 = new ArrayList<User>();
List<User1> list2 = new ArrayList<User1>();
User user = new User();
user.setName("汪");
user.setAge(1);
User user1 = new User();
user1.setName("童");
user1.setAge(2);
list1.add(user);
list1.add(user1);
new ListCopyUtil().copyProperties(list1, list2, User1.class);
System.out.println("----------");
}*/
}