BigInteger
BigInteger
是不可变的。因此你无法改变它的状态。例如,以下内容不起作用,因为 sum
不会因为不变性而更新。
BigInteger sum = BigInteger.ZERO;
for(int i = 1; i < 5000; i++) {
sum.add(BigInteger.valueOf(i));
}
将结果分配给 sum
变量以使其工作。
sum = sum.add(BigInteger.valueOf(i));
Version >= Java SE 8
BigInteger
的官方文档指出 BigInteger
实现应该支持 -2 2147483647 和 2 2147483647 之间的所有整数 (不包括)。这意味着 BigInteger
s 可以有超过 20 亿位!