小编ald*_*ael的帖子

在Java 8中从Double流中收集Long列表

我有以下代码:

List<Long> list = new ArrayList<>();
list.add(4L);
list.add(92L);
list.add(100L);
List<Long> newList = list.stream().map(i -> i * 2.5)
                                  .mapToLong(Double::doubleToRawLongBits)
                                  .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,编译错误是:

方法collect在接口java.util.stream.LongStream不能被应用到给定的类型;
required:java.util.function.Supplier<R>,java.util.function.ObjLongConsumer<R>,java.util.function.BiConsumer<R,R>
found:java.util.stream.Collector<java.lang.Object,capture#1 of ?,java.util.List<java.lang.Object>>
reason:无法推断类型变量R (实际和形式参数列表长度不同)

我尝试了许多收藏家的用法,但我仍然无法使其发挥作用.我究竟做错了什么?

java java-8 java-stream

24
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1