我有一个自定义类,并以经典方式从中创建一个数组。但是当我尝试访问并初始化其各个元素时,我得到了ArrayIndexOutOfBoundsException。简而言之,以下简单的代码会在android中给我带来麻烦:

Coordinate[] test;
test = new Coordinate[]{}; // I still get the error without having this line
test[0]= new Coordinate(4,5);


我需要在for循环中以动态方式初始化数组中的对象。
所以test = new Coordinate[]{cord1,cord2};,虽然可以用,但不能解决我的问题。

附言我知道如何使用ArrayList对象,并在代码的其他部分中使用它。
但是我被迫以经典的方式创建坐标。

提前致谢。

最佳答案

您应该创建一个非空数组:

test = new Coordinate[size];


其中size> 0。

否则,您的数组为空,并且test[0]导致您得到异常。

这也应该起作用(假设您只需要数组中的一个元素):

Coordinate[] test = new Coordinate[]{new Coordinate(4,5)};

关于java - 初始化数组对象时java.lang.ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25928123/

10-10 16:31