如何在创建instantces后初始化BigInteger(无法调用构造函数)

时间:2011-07-03 13:50:53

标签: java biginteger

想象一下BigInteger的一个实例,然后在创建实例后如何初始化它?

例如:

BigInteger t = new BigInteger();

如何在t中添加值?

如果无法调用构造函数,那么可以做什么,将值放在对象中?

4 个答案:

答案 0 :(得分:9)

我不是百分之百确定你在BigInteger数组中初始化项目时会特别混淆你的东西,就像任何其他对象数组一样。如,

  BigInteger t2 [] = new BigInteger[2];

  t2[0] = new BigInteger("2");
  t2[1] = BigInteger.ZERO; // ZERO, ONE, and TEN are defined by constants

  // or

  BigInteger[] t3 = {new BigInteger("2"), BigInteger.ZERO};

编辑1:
啊,现在我理解你的问题了:你想创建一个BigInteger实例,然后再设置它的值。答案与字符串相同:你不能,这是因为像字符串这样的BigIntegers是不可变的,并且一旦创建就无法更改。因此,该类没有“setter”方法。更改BigInteger 变量的值的方法是将其设置为新的BigInteger实例。

答案 1 :(得分:5)

要将long(或常规整数)转换为BigInteger,请使用静态工厂方法valueOf。调用BigInteger.valueOf(<i>someInteger</i>)返回一个新的BigInteger对象,其中包含您指定的整数值。你也可以使用新的BigInteger("" + <i>someInteger</i>)来获得同样的东西,但这很笨拙。

答案 2 :(得分:3)

以下是一些例子:

lines = ax.plot(arr)
ax.legend(lines, labels)

答案 3 :(得分:0)

我做了类似的事

//initialize with zero
BigInteger t = BigInteger.ZERO;

//if i is any value that is to be assigned 
t=t.add(BigInteger.valueOf(i));