参考链接: Java中的类和对象
项目中经常需要将某个对象的属性值复制给另一个对象,或者将一个集合复制到另一个集合。利用spring提供的BeanUtils,自己简单封装了一个工具类。
public class CopyUtils {
/**
* 复制集合
*/
public static <T,K> List<T> copyList(List<K> sourceList, Class<T> clazz) {
if (CollectionUtils.isEmpty(sourceList)) {
return null;
}
ArrayList<T> target = new ArrayList<>();
sourceList.forEach(k -> target.add(convert(k, clazz)));
return target;
}
/**
* 复制对象
*/
public static <T,K> T convert(K source, Class<T> clazz) {
T t = BeanUtils.instantiate(clazz);
BeanUtils.copyProperties(source, t);
return t;
}
}