1

我正在编写一个使用大量矩阵计算的 java 程序,并且在某些计算期间,我在进一步计算之前使用多个临时“存储”矩阵。

我已经在类变量中声明了临时矩阵

private double[][] intermediateMatrixA; private double[][] intermediateMatrixB; private double[][] intermediateMatrixC; private double[][] intermediateMatrixD;

但是,我从未在构造函数或方法中以intermediateMatrix = new double[][]. 相反,我正在为每个临时矩阵执行此操作intermediateMatrix = [the product of a matrix calculation]

我的问题:我使用的方法是否安全考虑临时数组将在其他计算中重用?每次我声明我的一个临时矩阵应该等于另一个数组时,它将等于该矩阵的确切维度和值?

提前致谢 问候迈克

4

1 回答 1

0

是的,它是“安全的”,因为您的变量从上面指向您的方法或计算的结果,并且行和列将被保留。

private double[][] intermediateMatrixA = new double[3][4];
//etc etc
intermediateMatrixA =new double[5][6];

完全没问题,只要它始终是double[][]; 不过,跟踪行和列的逻辑取决于您。

您可以将类型分配double[][]给其他类型double[][],但不能分配double[]double[][]

如果您打算一次又一次地使用它们,我建议您在分配它们之前将它们设置为 null,以防万一。

于 2012-04-12T19:23:37.100 回答