几周前我开始使用 Java 的流。我运行下面的代码并遇到错误消息。
import java.lang.*;
import java.util.*;
import java.util.stream.*;
public class Test {
public static void main(String[] args) {
List<Integer> list = IntStream.range(0, 10).collect(Collectors.toList());
System.out.println(list);
}
}
必填类型:供应商
Collectors.toList()
是Collector
。但是,您所调用的 collect()
的 IntStream
方法需要 3 个参数 - 一个 Supplier<R>
、一个 ObjIntConsumer<R>
和一个 BiConsumer<R, R>
。
如果您想将
Collectors.toList()
传递给 collect()
,您应该首先将 IntStream
转换为 Stream<Integer>
,因为 Stream
有一个接受 collect()
的 Collector
方法。
List<Integer> list = IntStream.range(0, 10).boxed().collect(Collectors.toList());