为什么Java中的BigInteger被设计为不可变的?
在java中,BigInteger是不可变的,但我想了解为什么,因为很多时候它被用来做很多计算,可以产生很多对象。所以,感觉有点直观,不让它不可变。我想到的情况是字符串操作,然后是StringBuilder的选项。应该有BigInteger的非不变对应物吗?我认为这在很多情况下可能是有益的。
编辑:我知道不变性的好处以及它在很多情况下的益处。我只是想了解W.r.t BigInteger的好处。我使用 BigInteger 来计算大数的阶乘。所以,我更喜欢一个可变的BigInteger。类似地,BigInteger将用于计算结果远大于int。对于其他情况,有BigDecimal。