二维阵列初始化和使用

时间:2012-04-12 19:10:48

标签: java arrays matrix initialization declaration

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

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

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

但是,我永远不会以intermediateMatrix = new double[][]的形式初始化构造函数或方法中的矩阵。 相反,我正在为每个临时矩阵intermediateMatrix = [the product of a matrix calculation]

执行此操作

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

提前致谢 问候 迈克

1 个答案:

答案 0 :(得分:0)

是的,从上面开始,您的变量将指向您的方法或计算结果的方式是'安全的',并且将保留行和列。

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

完全没问题,只要它总是double[][];跟踪行和列的逻辑取决于你。

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

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