我想知道有没有办法将BigInteger变量的值更改为另一个BigInteger的值?好像' BigInteger.valueOf'并不接受其他BigIntegers作为其价值,也不会接受新的BigInteger'。
答案 0 :(得分:7)
我没有仔细阅读你的问题。
我想知道有没有办法将BigInteger变量的值更改为另一个BigInteger的值
不,因为BigInteger是不可变的。
但是,您可以创建一个与原始值相同的新BigInteger实例:
一种方法是转换为String并从该String构造副本:
BigInteger source = ...
BigInteger target = new BigInteger (source.toString());
另一种方法是使用字节数组:
BigInteger target = new BigInteger (source.toByteArray());
答案 1 :(得分:4)
BigInteger是无法改变的,你无法改变价值。
old = new BigInteger( newValue );
进一步阅读:
https://docs.oracle.com/javase/tutorial/essential/concurrency/immutable.html
修改强>
要从其他BigInteger分配你可以使用:
BigInteger value = new BigInteger("0").add(oldValue);
答案 2 :(得分:0)
BigInteger a = new BigInteger("10");
BigInteger b = new BigInteger(a.toString());
System.out.println(b);