我有一个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 :(得分: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()]);