是否有用于算术加法的 Java 方法参考?

Tom*_* C. 5 java java-stream method-reference

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

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


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

Sle*_*idi 6

是的,你可以使用Integer.sum

stream.reduce(0, Integer::sum)
Run Code Online (Sandbox Code Playgroud)

或者您可以将流转换为 anIntStream并调用sum

stream.mapToInt(Integer::intValue).sum();
Run Code Online (Sandbox Code Playgroud)

  • 或者 `Long::sum`、`Float::sum` 或 `Double::sum`。 (3认同)