获取ArrayIndexOutofBoundException:0为数组赋值

时间:2014-08-30 20:40:19

标签: java arrays exception

当我试图在jsp中为我的数组赋值时,我得到了ArrayIndexOutOfBoundsException:0

以下是我的代码,

String[] imgarray = {};
int ival = 0;

// Below code in a while loop 
imgarray[ival] = iname; // Value of iname is 1.jpg, 87.jpg, 114.jpg etc...
ival++;

如果我做错了,请告诉我

由于

2 个答案:

答案 0 :(得分:2)

数组不像集合那样动态增长。因此,在向元素添加元素之前,必须给出数组的大小。

String[] imgarray = new String[10];
int ival = 0;

// Below code in a while loop 
imgarray[ival] = iname; // Value of iname is 1.jpg, 87.jpg, 114.jpg etc...
ival++;

这应该有用。

答案 1 :(得分:0)

如果你事先知道你的数组将要容纳多少元素,那么你应该在创建时设置数组的大小,就像所说的Ramesh一样,因为数组的大小在创建后不能改变。

如果您事先不知道阵列需要容纳多少元素,那么您需要另一种结构。我建议使用ArrayList:

List<String> list = new ArrayList<String>();
// int ival = 0 <- not needed with a List

// below code in a while loop
list.add(iname);
// ival++