数组索引超出绑定的2D数组

San*_*Arv 3 java arrays

我有一个二维数组,没有.行是1和否.列> 1.

double[][] T = new double[1][24];
System.out.println(T[1].length);
Run Code Online (Sandbox Code Playgroud)

但是当我打印列的长度时,它表示索引超出范围.

但是当我打印以下内容时,

System.out.println(T[0].length);
Run Code Online (Sandbox Code Playgroud)

我得到24的结果.但是T [0]不应该等于1而T [1]不能等于24吗?为什么我收到此错误?我想,java认为上面的数组是1D数组,因为它只有一行.但我需要它作为进一步处理的2D数组.有人可以帮忙吗?

Men*_*ena 6

数组索引从0开始.

如果你的数组长度是1(对于这里的第一个维度),那么你只能引用元素0.

换一种说法:

  • 声明称想要的大小(1在这里)
  • 元素引用声明了所需的基于0的索引(0此处)