【问题标题】:Is there a Java method reference for arithmetic addition?是否有算术加法的 Java 方法参考?
【发布时间】:2020-01-20 22:36:23
【问题描述】:

在 Java 中使用流时,是否可以使用方法引用进行算术加法(而不是 lambda)?

目前(对流的内容求和)我正在使用stream.reduce(0, (x, y) -> x + y),但我想使用stream.reduce(0, Math::add) 之类的东西,如果它存在的话。


在更一般但类似的注释中,Java 中的 每个 方法/操作是否都有方法引用?

【问题讨论】:

标签: java java-stream method-reference


【解决方案1】:

是的,你可以使用Integer.sum

stream.reduce(0, Integer::sum)

或者您可以将流转换为IntStream,然后调用sum

stream.mapToInt(Integer::intValue).sum();

【讨论】:

  • Long::sumFloat::sumDouble::sum
【解决方案2】:

您可以使用Math.addExact

stream.reduce(0, Math::addExact)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2013-04-08
    • 2011-04-10
    相关资源
    最近更新 更多