From b967478c923e61afca5a4ccf63d19e46e0229c8d Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 9 May 2024 10:13:15 +0800 Subject: [PATCH] =?UTF-8?q?PropertyComparator=E5=A2=9E=E5=8A=A0compareSelf?= =?UTF-8?q?=E6=9E=84=E9=80=A0=E9=87=8D=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/comparator/PropertyComparator.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/comparator/PropertyComparator.java b/hutool-core/src/main/java/org/dromara/hutool/core/comparator/PropertyComparator.java index a7a4c2f39..2bea5ef4d 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/comparator/PropertyComparator.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/comparator/PropertyComparator.java @@ -37,10 +37,23 @@ public class PropertyComparator extends FuncComparator { /** * 构造 * - * @param property 属性名 - * @param isNullGreater {@code null}值是否排在后(从小到大排序) + * @param property 属性名 + * @param isNullGreater null值是否排在后(从小到大排序) */ public PropertyComparator(final String property, final boolean isNullGreater) { - super(isNullGreater, true, (bean)-> BeanUtil.getProperty(bean, property)); + this(property, true, isNullGreater); + } + + /** + * 构造 + * + * @param property 属性名 + * @param compareSelf 在字段值相同情况下,是否比较对象本身。 + * 如果此项为{@code false},字段值比较后为0会导致对象被认为相同,可能导致被去重。 + * @param isNullGreater null值是否排在后(从小到大排序) + * @since 5.8.28 + */ + public PropertyComparator(final String property, final boolean compareSelf, final boolean isNullGreater) { + super(isNullGreater, compareSelf, (bean) -> BeanUtil.getProperty(bean, property)); } }