如何创建一个 BinaryOperator 来添加 BigInteger
How to create a BinaryOperator to add up BigInteger
我想创建一个 BinaryOperator<BigInteger> biOp
以添加 BigInteger
个值。例如,我将有一个巨大的列表或数组,其中包含不同的 BigInteger
值,我想使用循环和 biOp
.
将它们全部相加
结果例如两个值应如下所示:
System.out.println(biOp.apply(BigInteger.ONE, BigInteger.ONE));
// outputs 2
如何正确创建或初始化 biOp
?
最简单的方法是使用方法参考 BigInteger::add
:
BinaryOperator<BigInteger> binOp = BigInteger::add;
这是可行的,因为当您使用 class 名称创建对实例方法的方法引用时(即不是 static
方法),apply
方法将额外占用调用方法的实例的参数。因此,尽管 add
方法采用一个 BigInteger
参数,但此方法引用采用两个 BigInteger
参数。
我想创建一个 BinaryOperator<BigInteger> biOp
以添加 BigInteger
个值。例如,我将有一个巨大的列表或数组,其中包含不同的 BigInteger
值,我想使用循环和 biOp
.
结果例如两个值应如下所示:
System.out.println(biOp.apply(BigInteger.ONE, BigInteger.ONE));
// outputs 2
如何正确创建或初始化 biOp
?
最简单的方法是使用方法参考 BigInteger::add
:
BinaryOperator<BigInteger> binOp = BigInteger::add;
这是可行的,因为当您使用 class 名称创建对实例方法的方法引用时(即不是 static
方法),apply
方法将额外占用调用方法的实例的参数。因此,尽管 add
方法采用一个 BigInteger
参数,但此方法引用采用两个 BigInteger
参数。