Преобразование между BigInteger и примитивными числовыми типами в Java происходит с помощью методов класса Number, который включает стандартные обертки для простых числовых типов, таких как Integer, Long, Byte, Double и другие. 1
Если простые типы не вмещают полный объём данных из BigInteger, то данные урезаются до диапазона этого примитивного типа. 1 Например, при преобразовании BigInteger в int отбрасываются все биты, кроме самых нижних 32. 3
Существуют аналоги этих методов (intValueExact(), longValueExact() и другие). 1 Они отличаются тем, что если простой тип, в который идёт преобразование, не вмещает диапазон данных, то выбрасывается исключение ArithmeticException. 1
Класс BigInteger используется для математических операций с большими целыми числами, которые слишком велики для примитивных типов данных. 5