BigInteger + - операции? - PullRequest
       12

BigInteger + - операции?

1 голос
/ 22 февраля 2012

можно ли как-нибудь сделать + - такие операции?

BigInteger a = new BigInteger("1");
BigInteger b = new BigInteger("2");
BigInteger result;

a+=b;
//result = a.add(b);

ти

Ответы [ 3 ]

4 голосов
/ 22 февраля 2012

Одним словом, нет. В Java нет перегрузки операторов, и BigInteger не является одним из специальных типов, для которых есть магия компилятора для поддержки таких операторов, как + и +=.

3 голосов
/ 22 февраля 2012

К сожалению нет.Перегрузка операторов не поддерживается на языке Java.Синтаксис работает только для других числовых примитивных оболочек с помощью автобокса, что не имеет смысла для BigInteger, поскольку нет эквивалентного примитива.

0 голосов
/ 22 февраля 2012

Неа. BigInteger s являются неизменяемыми, поэтому вы не можете изменить значение a после его создания. И обычные математические операторы тоже не работают с ними, поэтому вы не можете сделать a += b.

Вам нужно сделать то, что вы там прокомментировали - result = a.add(b);

...