Java 如何在创建InstantCs后初始化BigInteger(不能调用构造函数)

Java 如何在创建InstantCs后初始化BigInteger(不能调用构造函数),java,biginteger,Java,Biginteger,设想一个biginger的实例,那么在创建实例后如何初始化它 例如: BigInteger t = new BigInteger(); 如何在t中输入值 如果无法调用构造函数,那么如何将值放入对象中?要将long(或常规整数)转换为BigInteger,请使用valueOf的静态工厂方法。调用biginger.valueOf(someInteger)返回一个新的biginger对象,该对象保存您指定的整数值。您也可以使用newBigInteger(“+someInteger”)来获得相同的结果

设想一个
biginger
的实例,那么在创建实例后如何初始化它

例如:

BigInteger t = new BigInteger();
如何在
t
中输入值


如果无法调用构造函数,那么如何将值放入对象中?

要将long(或常规整数)转换为BigInteger,请使用valueOf的静态工厂方法。调用
biginger.valueOf(someInteger)
返回一个新的
biginger
对象,该对象保存您指定的整数值。您也可以使用new
BigInteger(“+someInteger”)
来获得相同的结果,但这更为笨重。

我不能100%确定是什么让您感到困惑,因为您会像初始化任何其他对象数组一样初始化BigInteger数组中的项。e、 g

  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实例,然后再设置它的值。答案与字符串的答案相同:您不能,这是因为像字符串这样的大整数是不可变的,一旦创建就不能更改。因此,该类没有“setter”方法。更改BigInteger变量值的方法是将其设置为新的BigInteger实例。

以下是一些示例:

    BigInteger t = BigInteger.valueOf(23);
    int i = 66;
    t = BigInteger.valueOf(i);
    t = BigInteger.ZERO

我做了这样的事

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

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

好的,谢谢,若它不是数组,那个么对象是被创建的,那个么值是如何被放入的呢BigInteger@CoolEulerProject:请看我上面答案中的修改(编辑1)。全是EEL,谢谢,“像字符串这样的大整数是不可变的,一旦创建就不能更改”来学习如何使用类,阅读它的文档。所有标准类都有文档记录:。BigInteger的文档如下:谢谢,但是如何使用stringBigInteger替换BigInteger中的值有一个构造函数,它接受数字的字符串表示形式,并为您创建一个BigInteger对象。请阅读文档。它的第一句话是:不可变的任意精度整数。BigInteger是不可变的。一旦创建,它就不能再被更改了。构造另一个one.BigInteger有一个构造函数,它接受数字的字符串表示形式,并为您创建一个BigInteger对象。示例BigInteger b=新的BigInteger(“379017138713978419174”);@谢谢,但我的问题是它(BigInteger)可以被修改吗(替换为另一个字符串),答案是否(参见JB T的答案)