From 40bfd3940748d0dad3a27a55c937b19506d890c1 Mon Sep 17 00:00:00 2001
From: lqc <>
Date: Mon, 4 Apr 2022 22:13:17 +0800
Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E7=89=B9=E6=80=A7]=20CopyOptions?=
=?UTF-8?q?=E6=94=AF=E6=8C=81=E4=BB=A5Lambda=E6=96=B9=E5=BC=8F=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E5=BF=BD=E7=95=A5=E5=B1=9E=E6=80=A7=E5=88=97=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../hutool/core/bean/copier/CopyOptions.java | 33 +++++++++++++++++++
.../cn/hutool/core/bean/BeanUtilTest.java | 16 +++++++++
2 files changed, 49 insertions(+)
diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/copier/CopyOptions.java b/hutool-core/src/main/java/cn/hutool/core/bean/copier/CopyOptions.java
index 198e1fdcf..36ac56cec 100644
--- a/hutool-core/src/main/java/cn/hutool/core/bean/copier/CopyOptions.java
+++ b/hutool-core/src/main/java/cn/hutool/core/bean/copier/CopyOptions.java
@@ -1,13 +1,19 @@
package cn.hutool.core.bean.copier;
import cn.hutool.core.lang.Editor;
+import cn.hutool.core.lang.func.Func1;
+import cn.hutool.core.lang.func.LambdaUtil;
import cn.hutool.core.util.ArrayUtil;
import java.io.Serializable;
import java.lang.reflect.Field;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.function.BiFunction;
import java.util.function.BiPredicate;
+import java.util.stream.Collectors;
/**
* 属性拷贝选项
@@ -158,6 +164,33 @@ public class CopyOptions implements Serializable {
return setPropertiesFilter((field, o) -> false == ArrayUtil.contains(ignoreProperties, field.getName()));
}
+ /**
+ * 设置忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值,Lambda方式
+ *
+ * @param func1 忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值
+ * @return CopyOptions
+ */
+ public
CopyOptions setIgnoreProperties(Func1
... func1) {
+ List