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 04df601b9..e6aac7805 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 @@ -3,6 +3,7 @@ package cn.hutool.core.stream; import cn.hutool.core.lang.Console; import cn.hutool.core.lang.Opt; +import cn.hutool.core.text.StrUtil; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -56,6 +57,7 @@ public class FastStream implements Stream, Iterable { */ public static FastStreamBuilder builder() { return new FastStreamBuilder() { + private static final long serialVersionUID = 1L; private final Builder streamBuilder = Stream.builder(); @Override @@ -133,9 +135,9 @@ public class FastStream implements Stream, Iterable { *

* * @param 元素类型 - * @param hasNext 条件值 * @param seed 初始值 - * @param f 用上一个元素作为参数执行并返回一个新的元素 + * @param hasNext 条件值 + * @param next 用上一个元素作为参数执行并返回一个新的元素 * @return 无限有序流 */ public static FastStream iterate(T seed, Predicate hasNext, UnaryOperator next) { @@ -650,6 +652,7 @@ public class FastStream implements Stream, Iterable { * } */ public A[] toArray(IntFunction generator) { + //noinspection SuspiciousToArrayCall return stream.toArray(generator); } @@ -1083,7 +1086,10 @@ public class FastStream implements Stream, Iterable { */ @Override public boolean equals(Object obj) { - return stream.equals(obj); + if (obj instanceof Stream) { + return stream.equals(obj); + } + return false; } /** @@ -1143,7 +1149,7 @@ public class FastStream implements Stream, Iterable { * @return 拼接后的字符串 */ public String join() { - return join(""); + return join(StrUtil.EMPTY); } /** @@ -1153,7 +1159,7 @@ public class FastStream implements Stream, Iterable { * @return 拼接后的字符串 */ public String join(CharSequence delimiter) { - return join(delimiter, "", ""); + return join(delimiter, StrUtil.EMPTY, StrUtil.EMPTY); } /** @@ -1336,16 +1342,6 @@ public class FastStream implements Stream, Iterable { public interface FastStreamBuilder extends Consumer, cn.hutool.core.builder.Builder> { - /** - * Adds an element to the stream being built. - * - * @param t the element to add - * @throws IllegalStateException if the builder has already transitioned to - * the built state - */ - @Override - void accept(T t); - /** * Adds an element to the stream being built. * @@ -1363,18 +1359,6 @@ public class FastStream implements Stream, Iterable { accept(t); return this; } - - /** - * Builds the stream, transitioning this builder to the built state. - * An {@code IllegalStateException} is thrown if there are further attempts - * to operate on the builder after it has entered the built state. - * - * @return the built stream - * @throws IllegalStateException if the builder has already transitioned to - * the built state - */ - FastStream build(); - } } diff --git a/hutool-core/src/test/java/cn/hutool/core/stream/FastStreamTest.java b/hutool-core/src/test/java/cn/hutool/core/stream/FastStreamTest.java index 18dfd1380..b4060d6b9 100644 --- a/hutool-core/src/test/java/cn/hutool/core/stream/FastStreamTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/stream/FastStreamTest.java @@ -65,7 +65,10 @@ public class FastStreamTest { List orders = Arrays.asList(1, 2, 3); List list = Arrays.asList("dromara", "hutool", "sweet"); Map toZip = FastStream.of(orders).toZip(list); - Assert.assertEquals(new HashMap() {{ + Assert.assertEquals(new HashMap() { + private static final long serialVersionUID = 1L; + + { put(1, "dromara"); put(2, "hutool"); put(3, "sweet"); @@ -85,7 +88,10 @@ public class FastStreamTest { public void testToMap() { List list = Arrays.asList(1, 2, 3); Map identityMap = FastStream.of(list).toMap(String::valueOf); - Assert.assertEquals(new HashMap() {{ + Assert.assertEquals(new HashMap() { + private static final long serialVersionUID = 1L; + + { put("1", 1); put("2", 2); put("3", 3); @@ -97,7 +103,10 @@ public class FastStreamTest { List list = Arrays.asList(1, 2, 3); Map> group = FastStream.of(list).group(String::valueOf); Assert.assertEquals( - new HashMap>() {{ + new HashMap>() { + private static final long serialVersionUID = 1L; + + { put("1", singletonList(1)); put("2", singletonList(2)); put("3", singletonList(3)); @@ -270,7 +279,7 @@ public class FastStreamTest { } @Test - void testSub() { + public void testSub() { List list = Arrays.asList(1, 2, 3, 4, 5); List> lists = FastStream.of(list).sub(2).map(FastStream::toList).toList(); Assert.assertEquals(Arrays.asList(Arrays.asList(1, 2), @@ -280,7 +289,7 @@ public class FastStreamTest { } @Test - void testSubList() { + public void testSubList() { List list = Arrays.asList(1, 2, 3, 4, 5); List> lists = FastStream.of(list).subList(2).toList(); Assert.assertEquals(Arrays.asList(Arrays.asList(1, 2),