日期:2014-05-20  浏览次数:20840 次

关于BigInteger的clone,我是新手
下面的语句怎么改正呢?
BigInteger a = new BigInteger(text);
BigInteger aa = (BigInteger)a.clone();
编译器提示:
clone() has protected access in Object
  BigInteger aa = (BigInteger)a.clone();
  ^

------解决方案--------------------
BigInteger.clone() 是private,不能给你调用的。

考虑修改为:
BigInteger aa = new BigInteger(a.toString());
------解决方案--------------------
说错了,不是private,是protected的。因为BigInteger本身并没有实现clone(),是继承了Object.clone()函数,但Object.clone()函数是protected的,所以你没得用。
------解决方案--------------------
改成
BigInteger aa = new BigInteger(a);

copy constructor