我正在尝试创建一个字符串ArrayList来存储句子中的所有单词。目前,我正在尝试通过查找空间的索引并将其存储在数组中来实现此目的。空格的数组列表可以工作,但是单词的数组列表则不行。字符串 arraylist 的值是两个空格索引之间的子字符串。请帮忙。
for(int x = 0; x < spaces.size(); x++) {
words.add(post.substring(spaces.get(x) + 1, spaces.get(x + 1)));
}
最佳答案
当x
为size()-1
时,您将调用x+1
,它将等于size ()
这不是一个有效的索引
由于您要向前查找一个索引,因此仅循环直到小于 size()-1
:
for(int x = 0; x < spaces.size()-1; x++) {
words.add(post.substring(spaces.get(x) + 1, spaces.get(x + 1)));
}
关于java - 修复 ArrayList 中的 IndexOutOfBounds 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53017975/