java - 使用 Stream.reduce 求逆和不正确

标签 java java-8 java-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)

最佳答案

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

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

关于java - 使用 Stream.reduce 求逆和不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54144110/

相关文章:

java - 检查java流是否被消费

java - 如何匹配Maven的groundId发布版本

java.sql.SQLException : [Oracle][ODBC][Ora]ORA-01008: not all variables bound

java - 打破听众的递归

lambda - Java 8 动态调用函数

Java 8 流 - 查找 Map<String, List<Object>> 的最大计数值

java - flatMap Set of Sets inside groupingBy 的优雅方式

java - Android 空指针异常 - fragment (PA4AD)

java - 连接到 WSO2 时 Jersey SSL 异常

Java8 - 如何操作和分配变量?