0

我有一个字符串数组,例如,

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

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

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

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

4

5 回答 5

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();
}
于 2013-04-11T19:32:41.497 回答
0

您需要创建与列表大小相同的字符串数组。它不是动态的。也许你可以通过这个练习说出你想要达到的目标。

于 2013-04-11T19:32:28.637 回答
0

您是否尝试使用在集合框架中广泛使用的每个循环?

于 2013-04-11T19:35:02.380 回答
0

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

或者:

String[] abc = new String[errList.size()];    
errList.toArray(abc);  
于 2013-04-11T19:51:43.530 回答
0

我会这样做

String[] abc= errList.toArray(new String[errList.size()]);
于 2013-04-11T19:53:13.487 回答