diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java index d9dcb401..967612ef 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java @@ -72,7 +72,7 @@ public class StreamUtils { return CollUtil.newArrayList(); } // 注意此处不要使用 .toList() 新语法 因为返回的是不可变List 会导致序列化问题 - return collection.stream().sorted(comparing).collect(Collectors.toList()); + return collection.stream().filter(Objects::nonNull).sorted(comparing).collect(Collectors.toList()); } /** @@ -89,7 +89,7 @@ public class StreamUtils { if (CollUtil.isEmpty(collection)) { return MapUtil.newHashMap(); } - return collection.stream().collect(Collectors.toMap(key, Function.identity(), (l, r) -> l)); + return collection.stream().filter(Objects::nonNull).collect(Collectors.toMap(key, Function.identity(), (l, r) -> l)); } /** @@ -108,7 +108,7 @@ public class StreamUtils { if (CollUtil.isEmpty(collection)) { return MapUtil.newHashMap(); } - return collection.stream().collect(Collectors.toMap(key, value, (l, r) -> l)); + return collection.stream().filter(Objects::nonNull).collect(Collectors.toMap(key, value, (l, r) -> l)); } /** @@ -126,7 +126,7 @@ public class StreamUtils { return MapUtil.newHashMap(); } return collection - .stream() + .stream().filter(Objects::nonNull) .collect(Collectors.groupingBy(key, LinkedHashMap::new, Collectors.toList())); } @@ -147,7 +147,7 @@ public class StreamUtils { return MapUtil.newHashMap(); } return collection - .stream() + .stream().filter(Objects::nonNull) .collect(Collectors.groupingBy(key1, LinkedHashMap::new, Collectors.groupingBy(key2, LinkedHashMap::new, Collectors.toList()))); } @@ -168,7 +168,7 @@ public class StreamUtils { return MapUtil.newHashMap(); } return collection - .stream() + .stream().filter(Objects::nonNull) .collect(Collectors.groupingBy(key1, LinkedHashMap::new, Collectors.toMap(key2, Function.identity(), (l, r) -> l))); }