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 super T> 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),