我正在使用Apache数学库作为矩阵,这是我尝试使用的方法之一:
MatrixUtils.createRealDiagonalMatrix(double[] diagonal)
我不知道编译时的大小,所以我使用ArrayList<Double>
存储对角线,后来我想把它作为参数传递给上面的函数。如何将ArrayList
投射到double[]
?我试过了:
ArrayList<Double> arr = new ArrayList<Double>(n);
... // Populate arr
MatrixUtils.createRealDiagonalMatrix(arr.toArray(new Double[n]));
但是由于Double []和double []不同,我得到了类型不匹配错误。
答案 0 :(得分:2)
您可以使用ArrayUtils.toPrimitive(double[])
:
double[] diagonal = ArrayUtils.toPrimitive(arr.toArray(new Double[arr.size()]));
答案 1 :(得分:1)