我有以下代码:
Stream.of("1,2,3,4".split(",")).mapToDouble(Double::valueOf).collect(Collectors.toList());
我想要返回List<Double>
。
这段代码无法编译。
我发现了错误:
Error:(57, 69) java: method collect in interface java.util.stream.DoubleStream cannot be applied to given types;
required: java.util.function.Supplier<R>,java.util.function.ObjDoubleConsumer<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: cannot infer type-variable(s) R
(actual and formal argument lists differ in length)
如何解决这个问题?
map
而要使用mapToDouble
呢?你只需要进行String -> Double
的转换即可,而不必进行String -> Double -> double -> Double
的转换。 - Alexis C.String -> Double
,如果你想将它收集到一个List
中,它必须是一个Double
。 - Alexis C.