多维数组和ArrayIndexOutOfBoundsException

时间:2010-03-23 17:52:33

标签: java arrays

我有一个我无法解决的奇怪问题:

字段:

private boolean[][][] gaps;

构造函数(第1行):

gaps = new boolean[NOBARRICADES][WIDTH][HEIGHT];

构造函数(第二行):

for (int i = 0; i < NOBARRICADES; i++) {

Java为第二行引发错误,说:

  

主题“main”java.lang.ArrayIndexOutOfBoundsException

中的异常

它与Java语法有什么关系(错误在于这些代码行)或者我应该在其他地方寻找问题?

3 个答案:

答案 0 :(得分:1)

您可能误读了错误输出。你的第二行甚至不访问数组 - 确保它不是抛出异常的for循环体的第一行。另外,请确保仅使用i索引数组的第一维

答案 1 :(得分:0)

有时java编译器会被一两行关闭。您可以检查错误所在的行周围的代码行,看看是否有任何内容。

答案 2 :(得分:0)

很抱歉,但你真的不想这样做。

多维数组永远不值得引起混淆 - 它们根本没有正值(有明显的x,y数组的可能例外)。

我建议你尝试从二维数组列表或每个对象包含一个列表的二维对象数组开始。