在 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)
按照您在包 private IntPipeline
中的建议使用, 但对于其他数值运算符没有类似的方法。
@Override
public final int sum() {
return reduce(0, Integer::sum);
}
您可以自己定义它们。
关于java - Java 8 中运算符的便利功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306682/