java - 二维数组的初始化和使用

标签 java arrays matrix initialization declaration

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

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

私有(private)双[][] middleMatrixA; 私有(private)双[][]中间矩阵B; 私有(private)双[][]中间矩阵C; 私有(private)双[][] middleMatrixD;

但是,我从未以 intermediateMatrix = new double[][] 的形式在构造函数或方法中初始化矩阵。 相反,我对每个临时矩阵执行此操作 intermediateMatrix = [矩阵计算的乘积]

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

提前致谢 问候 迈克

最佳答案

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

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

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

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

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

关于java - 二维数组的初始化和使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130150/

相关文章:

java - 为什么克隆对象必须进行类型转换?

Java 字符串到字节数组的错误转换

python - 在 python 中沿特定轴广播操作

python - Python 中的 OpenGL 透视矩阵

java - 错误 : No Persistence provider for EntityManager

java - 如何在从 ITextRenderer 和 Thymeleaf HTML 模板生成的 PDF 文件中显示 Unicode(十六进制)字符

c - 好的,作业 : How can X[i] possibly be interpretted the same as i[X] in C?

java - 嵌套循环与硬编码矩阵乘法的性能

java - Mockito 中的嵌套方法模拟

java - 给定排序数组,如果数组 A 包含元素 A[i] 且 A[i] = i (递归和分而治之),则返回索引 i