为什么我会收到语法错误

1 java

为什么我会收到错误.ToArray.(语法)似乎是我正确的参数值.

感谢您的答复.

import java.util.LinkedList;

public class Vector {


private double doubleComposantes[];
private int intNombreDeComposante = 0;


public Vector(String strComposantes) {

    strComposantes = strComposantes.trim();
    intNombreDeComposante = getNumberOfComposantes(strComposantes);
}

private int getNumberOfComposantes(final String strComposantes) {

    return strComposantes.split(",").length;
}


private double[] getAllComposantes(final String strComposantes) {

    final String[] strComposantesSplitted = strComposantes.split(",");
    LinkedList<Double> doubleComposantesConvertis = new LinkedList<Double>();

    for (String strComposante : strComposantesSplitted) {

        doubleComposantesConvertis.add(Double.valueOf(strComposante));

    }

    int intLongueur = doubleComposantesConvertis.size();
    return doubleComposantesConvertis.toArray(new double[intLongueur]); // error at toArray()
}

}
Run Code Online (Sandbox Code Playgroud)

Psh*_*emo 5

toArray LinkedList中的签名是

public <T> T[] toArray(T[] a)
Run Code Online (Sandbox Code Playgroud)

并且由于TObject在运行时擦除,因此您只能使用Object此处的类型,而不是基本类型.尝试Double而不是double

return doubleComposantesConvertis.toArray(new Double[intLongueur]); 
Run Code Online (Sandbox Code Playgroud)

请注意,您还必须将方法的返回类型更改为 Double[]


更新:

如果你想返回double[],并且可以使用外部库,那么你可以使用Doubles.toArray番石榴.

return Doubles.toArray(doubleComposantesConvertis);//will return double[]
Run Code Online (Sandbox Code Playgroud)