diff --git a/CHANGELOG.md b/CHANGELOG.md
index b7b42ff45..cf36de7fe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,13 +3,14 @@
-------------------------------------------------------------------------------------------------------------
-# 5.6.4 (2021-04-19)
+# 5.6.4 (2021-04-20)
### 新特性
* 【core 】 DatePattern补充DateTimeFormatter(pr#308@Gitee)
* 【core 】 DateUtil.compare增加支持给定格式比较(pr#310@Gitee)
* 【core 】 BeanUtil增加edit方法(issue#I3J6BG@Gitee)
* 【db 】 Column中加入columnDef字段默认值(issue#I3J6BG@Gitee)
+* 【core 】 BeanUtil增加copyToList方法(issue#1526@Github)
### Bug修复
* 【db 】 修复SQL分页时未使用别名导致的错误,同时count时取消order by子句(issue#I3IJ8X@Gitee)
diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java
index 181423485..db5d4e67b 100644
--- a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java
@@ -29,6 +29,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
+import java.util.stream.Collectors;
/**
* Bean工具类
@@ -714,6 +715,25 @@ public class BeanUtil {
BeanCopier.create(source, target, copyOptions).copy();
}
+ /**
+ * 复制集合中的Bean属性
+ * 此方法遍历集合中每个Bean,复制其属性后加入一个新的{@link List}中。
+ *
+ * @param collection 原Bean集合
+ * @param targetType 目标Bean类型
+ * @param copyOptions 拷贝选项
+ * @param Bean类型
+ * @return 复制后的List
+ * @since 5.6.4
+ */
+ public static List copyToList(Collection> collection, Class targetType, CopyOptions copyOptions){
+ return collection.stream().map((source)->{
+ final T target = ReflectUtil.newInstanceIfPossible(targetType);
+ copyProperties(source, target, copyOptions);
+ return target;
+ }).collect(Collectors.toList());
+ }
+
/**
* 给定的Bean的类名是否匹配指定类名字符串
* 如果isSimple为{@code false},则只匹配类名而忽略包名,例如:cn.hutool.TestEntity只匹配TestEntity
@@ -845,4 +865,5 @@ public class BeanUtil {
}
return false;
}
+
}