我有一个与以下BigInteger class
相关联的Java代码,
import java.math.BigInteger;
public class Main
{
public static void main (String[] args)
{
BigInteger num = new BigInteger("123456789101112131415");
String str;
char []Char = new char[10];
str = num.toString();
Char = str.toCharArray();
System.out.println(str.length());
System.out.println(Char.length);
}
}
在该代码中,我有一个BigInteger
num,有21位数字。我将其转换为String
然后转换为Char array
。但我之前指定的char数组的长度只有10。那么这个char数组如何共包含21个字符???
我真的误解了这个事实。
还有一个问题,是否有任何方法可以直接将BigIntegers转换为char数组? :)
答案 0 :(得分:3)
要回答第一个问题,变量Char
(考虑更改变量名称)是对char
数组的引用。您将其设置为指向大小为10的数组。但稍后,感谢...
Char = str.toCharArray();
...您正在将参考点指向另一个数组。原始数组不再具有与之关联的引用,并且是垃圾回收。
要回答第二个问题,您可以将功能级联在一行中。
char[] Char = num.toString().toCharArray();