如何创建一个 BinaryOperator 来添加 BigInteger

rec*_*ter 0 java add binary-operators biginteger

我想创建一个BinaryOperator<BigInteger> biOp以将BigInteger值相加。例如,我将有一个巨大的列表或不同BigInteger值的数组,我想使用循环和biOp.

例如,两个值的结果应该是这样的:

System.out.println(biOp.apply(BigInteger.ONE, BigInteger.ONE));
// outputs 2
Run Code Online (Sandbox Code Playgroud)

如何biOp正确创建或初始化?

kay*_*ya3 7

最简单的方法是使用方法引用BigInteger::add

BinaryOperator<BigInteger> binOp = BigInteger::add;
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为当您使用类名创建对实例方法(即不是static方法)的方法引用时,该apply方法将为实例获取一个额外的参数来调用该方法。因此,虽然该add方法采用一个BigInteger参数,但该方法引用采用两个BigInteger参数。