我想将偶数索引数组(pos)的值传递给arraylist(单词),每次pos有两个或多个值时我得到OutOfMemoryError。 有什么不对吗?因为我得到OutOfMemoryError:Java堆空间
ArrayList<String> token = new ArrayList<String>();
ArrayList<String> words = new ArrayList<String>();
for (String a : token)
{
temp = temp + " " + a;
pos = a.split("[_\\s]+");
}
int c=0;
for(int i=0; i<=pos.length; i+=2) {
words.add(pos[i]);
c++;
}
答案 0 :(得分:2)
在你的第二个for
循环中,你不会将i递增2,你将i设置为2,导致无限循环。
使用i+=2
代替i=+2
for
循环还有另一个问题:它可能发生在i == pos.length
。在这种情况下,pos[i]
将导致ArrayIndexOutOfBoundsException。