为了将BigInteger值相加,我想创建一个BinaryOperator<BigInteger> biOp。例如,我将拥有一个巨大的列表或数组,其中包含不同的BigInteger值,我希望使用循环和biOp将它们全部相加。
例如,两个值的结果应如下所示:
System.out.println(biOp.apply(BigInteger.ONE, BigInteger.ONE));
// outputs 2如何正确创建或初始化biOp?
发布于 2020-01-20 04:04:14
最简单的方法是使用对BigInteger::add的方法引用
BinaryOperator<BigInteger> binOp = BigInteger::add;这是因为当您使用类名创建对实例方法(即不是static方法)的方法引用时,apply方法将为实例获取一个额外的参数来调用该方法。因此,尽管add方法接受一个BigInteger参数,但此方法引用接受两个BigInteger参数。
https://stackoverflow.com/questions/59813884
复制相似问题