java - 修复 ArrayList 中的 IndexOutOfBounds 异常

标签 java arraylist substring indexoutofboundsexception

我正在尝试创建一个字符串ArrayList来存储句子中的所有单词。目前,我正在尝试通过查找空间的索引并将其存储在数组中来实现此目的。空格的数组列表可以工作,但是单词的数组列表则不行。字符串 arraylist 的值是两个空格索引之间的子字符串。请帮忙。

for(int x = 0; x < spaces.size(); x++) {
    words.add(post.substring(spaces.get(x) + 1, spaces.get(x + 1)));
}

最佳答案

xsize()-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/

相关文章:

java - 如何在不知道数组大小的情况下初始化数组?

java - 合并两个自定义对象类型的 ArrayList

android - 从 Hashmap 值为 X 的数组中获取 hashmap

MySQL 查询以返回指示的两个单词之间的所有文本(子字符串?)

C:使用循环替换字符串中的子字符串

java - 捕获 OutOfMemoryError 是个坏主意吗?

java - 我怎样才能克服涉及 jvisualvm 和 oc4j 的异常?

java - 如何使用 StringBuilder 重建字符串?

java - Eclipse 帮助中的 Postgres JDBC 连接

java - 如何在最多 1 秒内找到能被 2、3 或 5 整除的数字