Java 8中运算符的便捷函数?

在Python中,如果我想对操作xor进行折叠,我可以这样写:

reduce(operator.xor, my_things, 0)

而不是更繁琐

reduce(lambda x, y: x^y, my_things, 0)

在新的Java 8功能特性中是否有这样的东西? 例如写这样的东西

myThings.reduce(0, Integer::xor)

而不是

myThings.reduce(0, (x, y) -> x ^ y)

Integer#sum(int, int) ,这是在包私有IntPipeline ,但对其他数值运算符没有类似的方法。

@Override
public final int sum() {
    return reduce(0, Integer::sum);
}

你可以自己定义它们。


是的,您可以在任何静态或实例方法上使用::方法引用运算符来代替函数接口(lambda)。 我不认为Integer有一个。

链接地址: http://www.djcxy.com/p/24675.html

上一篇: Convenience functions for operators in Java 8?

下一篇: Gulp Watch with Dependencies and Callback