import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** * 复制对象集合工具类 * */ public class CopyUtils { /** * 复制对象 * * @param source 原对象 * @param clazz 目标对象Class类型 * @param <T> * @param <K> * @return 目标对象 */ public static <T,K> T convert(K source, Class<T> clazz) { T t = BeanUtils.instantiateClass(clazz); BeanUtils.copyProperties(source, t); return t; } /** * 复制集合 * * @param sourceList 原集合 * @param clazz 目标对象Class对象 * @param <T> * @param <K> * @return 目标集合 */ public static <T,K> List<T> copyList(List<K> sourceList, Class<T> clazz) { List<T> target = new ArrayList<>(); if (CollectionUtils.isEmpty(sourceList)) { return target; } sourceList.parallelStream() .filter(Objects::nonNull) .forEach(source -> target.add(convert(source, clazz))); return target; } }
复制对象集合工具类
最新推荐文章于 2024-07-04 09:48:36 发布