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 位!