字符串数=("5,25,77,44,64,8,55,28,86,35");
我想从字符串返回一个double值数组.我无法使用以下代码成功完成此操作:
public static double[] fillArray(String numbers)
{
String[] answers = numbers.split(",");
double[] boom = new double[answers.length];
for (int index = 0; index < answers.length; index++)
{
boom[index] = Double.parseDouble(answers[index]);
}
return boom;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误很奇怪......
[De56f047c
Run Code Online (Sandbox Code Playgroud)
为什么这样,我该如何解决?
你正在调用toString()一个数组 - 并且数组不会覆盖Object.toString().所以你得到的行为来自Object.toString():
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"和对象的哈希码的无符号十六进制表示组成.换句话说,此方法返回一个等于值的字符串:
Run Code Online (Sandbox Code Playgroud)getClass().getName() + '@' + Integer.toHexString(hashCode())
调用Arrays.toString(double[])结果,它会没事的.所以这段代码:
double[] array = fillArray("5,25,77,44,64,8,55,28,86,35");
System.out.println(Arrays.toString(array));
Run Code Online (Sandbox Code Playgroud)
...给出的结果是:
[5.0, 25.0, 77.0, 44.0, 64.0, 8.0, 55.0, 28.0, 86.0, 35.0]
Run Code Online (Sandbox Code Playgroud)
我真的希望toString()所有阵列都被覆盖了.它会让生活更简单......
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |