BigInteger class is that it is immutable. This means that you cannot change the stored value of a BigInteger object, if we want to sum up some integers and the numbers are not pretty big, I would prefer long. Because that's easy to use and runs faster. Since the topic focus on how to use BigInteger. Just one of my personal experience, we can use the maximum value that can be stored in an int as an example. Java saves only the low order 32 (64 for longs) bits and throws the rest away. For example, instead you need to assign the changed value to a new variable.