【问题标题】:adding elements from list to string array将列表中的元素添加到字符串数组
【发布时间】:2013-04-11 19:30:22
【问题描述】:
我有一个类似的字符串数组,
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。有输入吗?
【问题讨论】:
标签:
java
arrays
collections
arraylist
【解决方案1】:
您正在创建一个长度为零的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();
}
【解决方案2】:
您需要创建与列表大小相同的字符串数组。它不是动态的。也许你可以通过这个练习说出你想要达到的目标。
【解决方案3】:
你有没有尝试使用在collection framework中广泛使用的for each loop?
【解决方案4】:
String[] abc = errList.toArray(new String[0]);
或者:
String[] abc = new String[errList.size()];
errList.toArray(abc);
【解决方案5】:
我会这样做
String[] abc= errList.toArray(new String[errList.size()]);