Java 数组超出边界异常,但数组已正确初始化

Java 数组超出边界异常,但数组已正确初始化,java,arrays,priority-queue,Java,Arrays,Priority Queue,所以我得到了这个错误 Exception in thread "LWJGL Application" java.lang.ArrayIndexOutOfBoundsException: 0 at com.xidstudios.pixelarena.pathfinding.AStarPathfinding.findPath(AStarPathfinding.java:81) 在那一行有下面的代码,更具体地说,第81行是下面代码的第二行。(我的格式化程序设置为在代码所在行变长后将代码放在单独的行上

所以我得到了这个错误

Exception in thread "LWJGL Application" java.lang.ArrayIndexOutOfBoundsException: 0
at com.xidstudios.pixelarena.pathfinding.AStarPathfinding.findPath(AStarPathfinding.java:81)
在那一行有下面的代码,更具体地说,第81行是下面代码的第二行。(我的格式化程序设置为在代码所在行变长后将代码放在单独的行上)

col表示列的数量,row表示行的数量(这是用于寻路)


为什么会出现此错误?如何修复此错误?

您确定
col
不是0吗?我敢肯定是的。数组边界永远不会失败!我的意思是系统错误不会伤害它。。那么您的值有什么问题吗?您是否执行superList[循环]=新建TileInfo()@EtienneMiret发现,因为我使用的是静态项,列被重置为0,我没有意识到这一点。我以为还是51岁。
openList = new PriorityQueue<TileInfo>(superList.length
            * superList[0].length, new ComparatorByScore());
superList = new TileInfo[col][row];