2013-04-11 86 views
0

我有一个String数组一样,从列表中添加元素,以字符串数组

String[] abc= new String[]{}; 

和我的清单有一定的价值。我迭代列表并将每个列表元素添加到字符串数组。

for(int i=0; i<errList.size(); i++) 
      { 
       abc[i] = errList.get(i).getSrceCd(); 
      } 

errList.size()有6个值。但是当for循环执行时,我得到java.lang.ArrayIndexOutOfBoundsException。任何投入?

+0

您的字符串数组声明不正确 – ChadNC 2013-04-11 19:32:46

回答

5

您正在创建零长度的String[]对象;因此,当您尝试将项目分配到abc[i]时,它正在访问不在您的范围内的索引0 <= i < 0

你应该用一个长度,而不是分配abc

String[] abc= new String[errList.size()]; 
for(int i=0; i<errList.size(); i++) 
{ 
    abc[i] = errList.get(i).getSrceCd(); 
} 
0

您需要使用与列表大小相同的字符串数组。它不是动态的。也许你可以告诉你在这个练习中想要达到的目标。

0

你尝试使用它被广泛应用于集合框架中的每个循环?

0

String[] abc = errList.toArray(new String[0]);

或者:

String[] abc = new String[errList.size()];  
errList.toArray(abc); 
0

我只想做

String[] abc= errList.toArray(new String[errList.size()]); 
相关问题