diff --git a/hutool-core/src/main/java/cn/hutool/core/tree/BeanTree.java b/hutool-core/src/main/java/cn/hutool/core/tree/BeanTree.java index 60eaf9aa0..75743b069 100644 --- a/hutool-core/src/main/java/cn/hutool/core/tree/BeanTree.java +++ b/hutool-core/src/main/java/cn/hutool/core/tree/BeanTree.java @@ -1,6 +1,5 @@ package cn.hutool.core.tree; -import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.lang.Opt; import cn.hutool.core.lang.func.*; import cn.hutool.core.stream.EasyStream; @@ -67,12 +66,9 @@ public class BeanTree> { final SerFunction> childrenGetter, final SerBiConsumer> childrenSetter) { this.idGetter = Objects.requireNonNull(idGetter, "idGetter must not be null"); - this.pidGetter = pidGetter; + this.pidGetter = Objects.requireNonNull(pidGetter, "pidGetter must not be null"); this.pidValue = pidValue; this.parentPredicate = parentPredicate; - if (Objects.isNull(pidGetter) && Objects.isNull(parentPredicate)) { - throw new UtilException("pidGetter and parentPredicate can not be null at the same time"); - } this.childrenGetter = Objects.requireNonNull(childrenGetter, "childrenGetter must not be null"); this.childrenSetter = Objects.requireNonNull(childrenSetter, "childrenSetter must not be null"); } @@ -114,7 +110,7 @@ public class BeanTree> { final SerPredicate parentPredicate, final SerFunction> childrenGetter, final SerBiConsumer> childrenSetter) { - return new BeanTree<>(idGetter, pidGetter, null, parentPredicate, childrenGetter, childrenSetter); + return new BeanTree<>(idGetter, pidGetter, null, Objects.requireNonNull(parentPredicate, "parentPredicate must not be null"), childrenGetter, childrenSetter); } /**