当我试图在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++;
如果我做错了,请告诉我
由于
答案 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++