From 529c0beab428c28d71d8b8ff4e2b8ad508332d22 Mon Sep 17 00:00:00 2001 From: emptypoint Date: Mon, 1 Aug 2022 22:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dof=E3=80=81push=E3=80=81addFi?= =?UTF-8?q?rst=E6=96=B9=E6=B3=95=E4=B8=AD=E5=8F=AF=E5=8F=98=E5=8F=82?= =?UTF-8?q?=E4=B8=BAnull=E6=97=B6=E7=9A=84=E9=97=AE=E9=A2=98;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/core/stream/FastStream.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 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 e549bed41..72d06776f 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 @@ -60,6 +60,11 @@ public class FastStream implements Stream, Iterable { this.stream = stream; } + @SafeVarargs + private static Stream ofStream(E... values) { + return Objects.isNull(values) ? Stream.empty() : Arrays.stream(values); + } + /** * 返回{@code FastStream}的建造器 * @@ -101,7 +106,7 @@ public class FastStream implements Stream, Iterable { * @return 包含单个元素的串行流 */ public static FastStream of(T t) { - return Opt.ofNullable(t).map(Stream::of).map(FastStream::new).orElseGet(FastStream::empty); + return new FastStream<>(Stream.of(t)); } /** @@ -115,7 +120,7 @@ public class FastStream implements Stream, Iterable { @SafeVarargs @SuppressWarnings("varargs") public static FastStream of(T... values) { - return new FastStream<>(Arrays.stream(values)); + return new FastStream<>(ofStream(values)); } /** @@ -1100,7 +1105,7 @@ public class FastStream implements Stream, Iterable { */ @SuppressWarnings("unchecked") public FastStream push(T... obj) { - return FastStream.concat(this.stream, Stream.of(obj)); + return FastStream.concat(this.stream, ofStream(obj)); } /** @@ -1121,7 +1126,7 @@ public class FastStream implements Stream, Iterable { */ @SafeVarargs public final FastStream addFirst(T... obj) { - return FastStream.concat(Stream.of(obj), this.stream); + return FastStream.concat(ofStream(obj), this.stream); } /**