将list中的元素添加到字符串数组中

时间:2013-04-11 19:30:23

标签: java arrays collections arraylist

我有一个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。有什么输入吗?

5 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

或者:

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

答案 4 :(得分:0)

我会这样做

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