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 之间的所有整数 (不包括)。这意味着 BigIntegers 可以有超过 20 亿位!