#java #biginteger
#java #biginteger
Вопрос:
При преобразовании из int в BigInteger мы пишем
int n = 100;
BigInteger bi = BigInteger.valueOf(n);
когда мы печатаем bi, мы получаем 100.
но при преобразовании из String в BigInteger мы пишем
String str = "100";
BigInteger biStr = new BigInteger(str);
biStr
объект использует new
ключевое слово для хранения значения значения BigInteger, которое преобразуется из строки, но где bi
объект будет хранить свое значение BigInteger, которое преобразуется из int.
Комментарии:
1. Я рекомендую взглянуть на то, как
BigInteger.valueOf
это реализовано.
Ответ №1:
Цитируем BigInteger javadoc для valueOf:
«Этот «статический фабричный метод» предоставляется предпочтительнее (длинного) конструктора, поскольку он позволяет повторно использовать часто используемые BigIntegers».