Java等价于C#数组声明的private static double[,][]_temp=null;
本文关键字:null temp double 数组 等价于 声明 static private Java | 更新日期: 2023-09-27 18:27:22
我有这个C#代码:
private static double[,][] _temp = null;
我想我以前从未使用过带逗号的数组声明。我想这是锯齿状阵列的变体。有人能确认C#代码的作用吗?另外,有人知道它在Java中的等效代码是什么吗?
这是二维数组吗?
private static double[][] temp = null;
编辑:
三维:
private static double[][][] temp = null;
这将是一个固定大小的二维数组的数组固定大小(而不是锯齿状)的二维数组。
[,]
是一个矩形阵列(不是锯齿状)。(用一个逗号,2D。)重点是获得比通常的Java数组(可能是锯齿状的)更好的性能。您可以通过一点算术和取消引用一个指针来定位元素,而不是取消引用两个指针和更少的算术。不确定它是否对小型阵列有帮助——可能会造成伤害——但对于大型阵列,[,]
可能会提供更好的缓存性能。在带有阵列处理器的机器上也会有很大帮助。(有些人仍然使用FORTRAN,因为它在使用数组处理器的机器上处理数组非常好。)C#倾向于添加特殊的东西来获得类似的小奖金或大奖金。Java试图保持简单,即使它花费了一些钱。
然后,另一个[]
为您提供了一个可能由非锯齿状数组组成的锯齿状数组,就像在Java中一样。
根据这个网站,[]中的逗号就像在C#中声明一个二维数组。在你的例子中,它是一个由二维数组组成的数组。