From d2df665eaafbbada6b68a356892f1df4b6630960 Mon Sep 17 00:00:00 2001 From: Zjp <1215582715@qq.com> Date: Tue, 9 Aug 2022 14:53:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9flatMap,=20flat=E5=92=8Cfla?= =?UTF-8?q?tNonNull=E6=96=B9=E6=B3=95=E7=9A=84=E6=B3=A8=E9=87=8A;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/stream/FastStream.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/stream/FastStream.java b/hutool-core/src/main/java/cn/hutool/core/stream/FastStream.java index d0d302519..d07307938 100644 --- a/hutool-core/src/main/java/cn/hutool/core/stream/FastStream.java +++ b/hutool-core/src/main/java/cn/hutool/core/stream/FastStream.java @@ -337,8 +337,8 @@ public class FastStream implements Stream, Iterable { } /** - * 扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,并过滤{@code null}元素, 返回多个流所有非空元素组成的流
- * 这是一个无状态中间操作 + * 扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作,返回多个流所有元素组成的流
+ * 这是一个无状态中间操作
* 例如,将users里所有user的id和parentId组合在一起,形成一个新的流: *
{@code
 	 *     FastStream ids = FastStream.of(users).flatMap(user -> FastStream.of(user.getId(), user.getParentId()));
@@ -409,7 +409,7 @@ public class FastStream implements Stream, Iterable {
 
 	/**
 	 * 扩散流操作,可能影响流元素个数,将原有流元素执行mapper操作, 转换为迭代器元素,
-	 * 并过滤迭代器中的 {@code null} 元素,最后返回所有迭代器的所有非空元素组成的流
+ * 最后返回所有迭代器的所有元素组成的流
* 这是一个无状态中间操作
* 例如,将users里所有user的id和parentId组合在一起,形成一个新的流: *
{@code
@@ -425,6 +425,17 @@ public class FastStream implements Stream, Iterable {
 		return flatMap(w -> of(mapper.apply(w)));
 	}
 
+	/**
+	 * 扩散流操作,可能影响流元素个数,对过滤后的非{@code null}元素执行mapper操作,转换为迭代器,
+	 * 并过滤迭代器中为{@code null}的元素, 返回所有迭代器的所有非空元素组成的流
+ * 这是一个无状态中间操作
+ * + * @param mapper 操作,返回流 + * @param 拆分后流的元素类型 + * @return 返回叠加拆分操作后的流 + * @see #flat(Function) + * @see #nonNull() + */ public FastStream flatNonNull(Function> mapper) { return nonNull().flat(mapper).nonNull(); }