在 Java 8 中收集 Long from Double Stream 的列表
2022-09-01 05:32:50
我有以下代码:
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());
此代码不起作用,编译错误为:
接口中的方法不能应用于给定的类型;
必需:
找到:
原因:无法推断类型变量(实际参数列表和正式参数列表的长度不同)collect
java.util.stream.LongStream
java.util.function.Supplier<R>,java.util.function.ObjLongConsumer<R>,java.util.function.BiConsumer<R,R>
java.util.stream.Collector<java.lang.Object,capture#1 of ?,java.util.List<java.lang.Object>>
R
我已经尝试了许多收藏家的用法,但我仍然无法正常工作。我做错了什么?