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

2022-09-04 02:04:06

想象一个实例,那么创建实例后如何初始化它呢?BigInteger

例如:

BigInteger t = new BigInteger();

如何输入值?t

如果构造函数不能被调用,那么可以做些什么来将值放在对象中?


答案 1

我不是100%确定具体是什么让你感到困惑,因为你会像初始化任何其他对象数组一样初始化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实例,然后设置它的值。答案与字符串相同:你不能,这是因为像String这样的BigIntegers是不可变的,一旦创建就无法更改。因此,该类没有“setter”方法。更改 BigInteger 变量值的方法是将其设置为新的 BigInteger 实例。


答案 2

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


推荐