从string返回double值数组

use*_*331 1 java

字符串数=("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)

为什么这样,我该如何解决?

Jon*_*eet 8

你正在调用toString()一个数组 - 并且数组不会覆盖Object.toString().所以你得到的行为来自Object.toString():

类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"和对象的哈希码的无符号十六进制表示组成.换句话说,此方法返回一个等于值的字符串:

getClass().getName() + '@' + Integer.toHexString(hashCode())
Run Code Online (Sandbox Code Playgroud)

调用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()所有阵列都被覆盖了.它会让生活更简单......