java流收集函数给出错误

标签 java java-8 java-stream

第一个声明有效,但第二个声明不正确,为什么?

java.util.Arrays.asList(1,2,3,4,5).stream()
                                  .map(n -> n+1)
                                  .collect(Collectors.toList());

List<Integer> list = IntStream.rangeClosed(1, 10)
                              .map(n -> n + 1)
                              .collect(Collectors.toList());

错误:

Type mismatch: cannot convert from Collector<Object,capture#5-of ?,List<Object>> 
to Supplier<R>

最佳答案

虽然有一个collect Stream 上的方法它接受 Collector , IntStream 上没有这样的方法.

您可以转换您的 IntStreamStream<Integer>使用 boxed()方法。

关于java流收集函数给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418821/

相关文章:

java - 如何在 selenium-java 中使用 xpath 获取表中禁用属性的大小

java 8中的字符串占用内存较少

java.lang.OutOfMemoryError : Java heap space for java 8 错误

Java Streams Map,从键获取值 - List<Integer>(带过滤)

java - 如何将 "nested for each"转换为 Java 8 Lambda/Stream 构造?

Java lambda 子列表

java - XPATH:将 xml 节点插入到另一个 XML 文档中

javax.cache 自动删除条目

java - android 读/写用户首选项

java-8 - 使用身份组合器并行流减少