diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java index 46d2e3406..62e86935f 100644 --- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java @@ -1171,11 +1171,14 @@ public class CollUtil { * * @param 集合元素类型 * @param collection 集合 - * @param filter 过滤器 + * @param filter 过滤器,{@link null}返回原集合 * @return 过滤后的数组 * @since 3.1.0 */ public static Collection filterNew(Collection collection, Filter filter) { + if(null == collection || null == filter){ + return collection; + } return edit(collection, t -> filter.accept(t) ? t : null); } diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java index 4a45ae349..72ead7c6c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java @@ -660,11 +660,14 @@ public class MapUtil { * @param Key类型 * @param Value类型 * @param map Map - * @param filter 编辑器接口 + * @param filter 编辑器接口,{@link null}返回原Map * @return 过滤后的Map * @since 3.1.0 */ public static Map filter(Map map, Filter> filter) { + if(null == map || null == filter){ + return map; + } return edit(map, t -> filter.accept(t) ? t : null); } @@ -674,12 +677,15 @@ public class MapUtil { * @param Key类型 * @param Value类型 * @param map 原始Map - * @param keys 键列表 + * @param keys 键列表,{@link null}返回原Map * @return Map 结果,结果的Map类型与原Map保持一致 * @since 4.0.10 */ @SuppressWarnings("unchecked") public static Map filter(Map map, K... keys) { + if(null == map || null == keys){ + return map; + } Map map2 = ObjectUtil.clone(map); if (isEmpty(map2)) { return map2; diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ArrayUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ArrayUtil.java index f49645a80..1a3da2264 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ArrayUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ArrayUtil.java @@ -621,6 +621,9 @@ public class ArrayUtil extends PrimitiveArrayUtil { * @since 3.2.1 */ public static T[] filter(T[] array, Filter filter) { + if(null == array || null == filter){ + return array; + } return edit(array, t -> filter.accept(t) ? t : null); }