为了账号安全,请及时绑定邮箱和手机立即绑定

修复 ArrayList 中的 IndexOutOfBounds 异常

修复 ArrayList 中的 IndexOutOfBounds 异常

MYYA 2021-12-10 15:00:18
我正在尝试制作一个 String ArrayList 来存储一个句子中的所有单词。目前,我试图通过查找空格的索引并将其存储在数组中来实现这一点。空格的数组列表有效,但是单词的数组列表无效。字符串数组列表的值是两个空格索引之间的子字符串。请帮忙。for(int x = 0; x < spaces.size(); x++) {    words.add(post.substring(spaces.get(x) + 1, spaces.get(x + 1)));}
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

当xis size()-1,那么你会调用x+1which 将等于size()which 不是一个有效的索引


由于您正在查看一个索引,因此只循环直到小于size()-1:


for(int x = 0; x < spaces.size()-1; x++) {

    words.add(post.substring(spaces.get(x) + 1, spaces.get(x + 1)));

}


查看完整回答
反对 回复 2021-12-10
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

有一种更简单的方法可以做到这一点。


假设您有以下包含单词的字符串:


stringWithWords = "This is my string";

首先,您可以将字符串拆分为一组单词:


String wordsArray[] = stringWithWords(" ");

之后,您可以将数组转换为 ArrayList:


List<String> wordsArrayList = new ArrayList<String>();

wordsArrayList = Arrays.asList(wordsArray);


查看完整回答
反对 回复 2021-12-10
  • 2 回答
  • 0 关注
  • 209 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信