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)); } }