BigInteger برای محاسبات عددی استفاده می شود که در رنج پشتیبانی انواع داده اولیه عددی (مانند int و long) قرار نمی گیرند به عبارت دیگر برای محاسبات عددی صحیح بسیار بزرگ (برای مثال بزرگتر از 9,223,372,036,854,775,807) می توان از کلاس BigInteger استفاده کرد.
مثال زیر نمونه پیاده سازی شده فاکتوریل با استفاده از BigInteger را نشان می دهد:
public BigInteger factorial(BigInteger b) {
BigInteger a = BigInteger.ONE;
while (b.compareTo(BigInteger.ONE) > 0) {
a = a.multiply(b);
b = b.subtract(BigInteger.ONE);
}
return a;
}
مزیت این پیاده سازی در این است که این متد می تواند مقدار فاکتوریل اعداد بزرگ را نیز حساب کند. دقت داشته باشید که عملگر های - و * که برای انواع داده اولیه کاربرد دارند برای BigInteger کاربرد ندارد و حتما باید از متد های subtract و multiply که در کلاس BigInteger قرار دارد استفاده کرد.