来源。
我猜想MutableBigInteger在内部用于BigInteger繁重的计算,但由于频繁的重新分配而减慢了计算速度。我不确定为什么它不作为java.math的一部分导出。也许对可变值类别有些厌恶?
为了澄清“可变”:
标准BigInteger在整个生命周期中都有一个值,给定两个BigInteger引用“ a”和“ b”,“ a +
b”将始终产生一个具有相同值的新BigInteger。假设该值为4。
使用MutableBigInteger时,“ a + b”最初可能会产生4,但由于其他代码更改了“
a”所引用对象的值(又称为“变异”),因此将来某个时候会产生8、16、32或任何其他数字。 “&”
b“。因此,Java中的大多数(也许所有)值类型(字符,短型,长型,整数,BigInteger,BigDecimal,浮点型,双精度,甚至字符串)都是不可变的。



