BigInteger复制

Car*_*sma 11 java biginteger

也许我真的很困惑,因为这似乎是一个非常简单的问题,但Google和官方文档还不够.

我想复制一个BigInteger,我找不到干净的方法.BigInteger a = bwhen b是BigInteger,因为BigInteger是一个对象,并且这里没有运算符重载,所以a引用同一个对象b

到目前为止我发现的最干净的方式是BigInteger a = b.add(BigInteger.ZERO),但对我来说仍然是一种肮脏的方式.

Lou*_*man 14

BigInteger是不可变的 - 永远不需要复制BigInteger.


Jam*_* P. 12

BigInteger是不可变的像其他包装类如IntegerString.所以不用担心可能的改变/篡改.

PS:作为奖励,这里有关于何时需要防御性复制的链接.

http://www.javapractices.com/topic/TopicAction.do?Id=15


Chr*_*gis 6

您可以使用 BigInteger(String val)

BigInteger first = new BigInteger("15");
BigInteger second = new BigInteger(first.toString());
Run Code Online (Sandbox Code Playgroud)

虽然这是可能的,但BigInteger对象是不可变的,我无法想象需要复制.