Каков наиболее эффективный способ создания экземпляра BigInteger из значения int? - PullRequest
11 голосов
/ 15 апреля 2010

У меня есть метод (в сторонней библиотеке) с параметром BigInteger:

public void setValue (BigInteger value) { ... }

Мне не нужна «вся его сила», мне нужно работать только с целыми числами. Итак, как я могу передать целые числа в этот метод? Мое решение состоит в том, чтобы получить строковое значение из значения int и затем создать BigInteger из строки:

int i = 123;
setValue (new BigInteger ("" + i));

Существуют ли другие (рекомендуемые) способы сделать это?

Ответы [ 4 ]

39 голосов
/ 15 апреля 2010
BigInteger.valueOf(i);
8 голосов
/ 15 апреля 2010

Используйте статический метод BigInteger.valueOf(long number). int значения будут переведены в long автоматически.

3 голосов
/ 15 апреля 2010
setValue(BigInteger.valueOf(123L));
3 голосов
/ 15 апреля 2010

Вы можете использовать этот статический метод: BigInteger.valueOf(long val)

...