diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanListCopyUtil.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanListCopyUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..bc01b1d3289d1b06786616a8a52b4fc8d8d2b996 --- /dev/null +++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanListCopyUtil.java @@ -0,0 +1,50 @@ +package cn.hutool.core.bean; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; + +/** + * + *
+ * 集合复制工具类 + *
+ *
+ * @author ms
+ * 集合复制回调工具类
+ *
+ *
+ * @author ms
+ * @email
+ * @date 2021-8-25 16:37:46
+ */
+public class BeanListCopyUtil extends BeanUtil {
+
+ /**
+ * 集合数据的拷贝
+ * @param sources: 数据源类
+ * @param target: 目标类::new(eg: UserVO::new)
+ * @return 复制后的集合数据
+ */
+ public static List sources, Supplier List sources, Supplier callBack) {
+ List
+ * @email
+ * @date 2021-8-25 16:37:46
+ */
+@FunctionalInterface
+public interface BeanListCopyUtilCallBack {
+
+ /**
+ * 定义默认回调方法
+ * @param t
+ * @param s
+ */
+ void callBack(S t, T s);
+}
diff --git a/hutool-core/src/test/java/cn/hutool/core/bean/BeanListCopyUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/bean/BeanListCopyUtilTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e549c0e2f580c846114476cb256bc2a3a76687fb
--- /dev/null
+++ b/hutool-core/src/test/java/cn/hutool/core/bean/BeanListCopyUtilTest.java
@@ -0,0 +1,60 @@
+package cn.hutool.core.bean;
+
+import cn.hutool.core.lang.Console;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 集合复制工具类单元测试
+ *
+ * @author ms
+ */
+public class BeanListCopyUtilTest {
+
+ @Test
+ public void copyListPropertiesTest() {
+ List