工作中,经常使用Spring的工具类BeanUtils.copyProperties对bean属性进行复制,这里的复制属于浅复制。不能复制集合和数组。
两种方案:
一、循环里面使用BeanUtils.copyProperties然后组成一个新的集合。
二、使用JSON操作:
复制集合或者map的工具类:
import com.alibaba.fastjson.JSON;
import org.apache.commons.collections.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class CollectionCopyUtil {
public static <T> List copyList(List<T> list,Class tClass) {
if (CollectionUtils.isEmpty(list)) {
return new ArrayList();
}
return JSON.parseArray(JSON.toJSONString(list), tClass);
}
public static Map<String, Object> copyMap(Map map) {
return JSON.parseObject(JSON.toJSONString(map));
}
}