首页 > 解决方案 > 使用 Stream.reduce 的求逆和不正确

问题描述

使用 Stream.reduce 求逆求和不正确,这里出了什么问题?

double[] array = {1.0, 2.0};
double iunversionSum = Arrays.stream(array).reduce(0.0, (a, b) -> Double.sum(1.0 / a, 1.0 / b));

输出为 0.5 但预期为 1.5 (1/1 + 1/2)

标签: javajava-8java-streamreduce

解决方案


我认为使用map()它可能更简单。

double inversionSum = Arrays.stream(arr).map(val -> 1 / val).sum();

推荐阅读