我正在尝试创建一个将所有单词存储在一个句子中的String ArrayList。当前,我正在尝试通过查找空间索引并将其存储在数组中来实现这一点。空格的arraylist有效,但是单词的arraylist无效。字符串arraylist的值是两个空格的索引之间的子字符串。请帮忙。
for(int x = 0; x < spaces.size(); x++) {
words.add(post.substring(spaces.get(x) + 1, spaces.get(x + 1)));
}
答案 0 :(得分: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)));
}
答案 1 :(得分:0)
有一种更简单的方法可以做到这一点。
假设您具有带字的以下字符串:
stringWithWords = "This is my string";
首先,您可以将字符串拆分成单词数组:
String wordsArray[] = stringWithWords(" ");
之后,您可以将数组转换为ArrayList:
List<String> wordsArrayList = new ArrayList<String>();
wordsArrayList = Arrays.asList(wordsArray);