我想知道是否有可能在 Java 8 中获取标准运算符(+、-、<、>、...)的方法引用。
我想像 Foo::+ 一样获取它,其中 Foo 是我可以获取它的某个定义的位置。
由于 Java 不允许在方法名称中使用特殊字符,我认为这是不可能的,对吗?
如果上述方式不存在:是否有一些地方定义了标准运算符,如 Foo::plus?
我知道有可能将它定义为 lambda ((x, y) -> x + y),但在我看来,在某些情况下它可以通过方法引用更具表现力像在 Haskell 中一样对运算符(operator)来说是可能的。
最佳答案
我相信您正在寻找int Integer.sum(int, int)和类似的方法,这些方法确实是由 API 提供的。
您的列表中缺少许多方法,但 JDK 不提供最后一英寸的便利是很常见的,因为即使没有这些方法它的大小也很大。
如果这是任何安慰,我的每个项目都有一个 Util 类,我在其中转储诸如此类的花絮。
关于Java 8 : Get Operator-Function-Object with method reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24801925/