【发布时间】:2015-05-20 10:12:50
【问题描述】:
我在使用 For 循环迭代 Arraylist 时遇到 java.lang.IndexOutOfBoundsException。我知道为什么我会收到此异常,但我没有解决此问题的解决方案。
我必须根据 Arraylist 中的值来划分字符串。为此,我使用了subString(int startingIndex,int endingIndex) 方法。
我在这一行遇到异常
String subString = queryString.substring(count.get(i),count.get(i+1));
i 的值超出了列表的大小。
代码:
String queryString = request.getQueryString();
Pattern p1 = Pattern.compile("check=on");
Matcher m1 = p1.matcher(queryString);
ArrayList<Integer> count = new ArrayList<>();
while(m1.find())
{
count.add(m1.start());
}
// Iterating Arraylist
for (int i = 0; i < count.size() ; i++) {
String subString = queryString.substring(count.get(i),count.get(i+1));
out.println("subString:"+ subString);
}
希望你能理解我的问题。
【问题讨论】:
-
更改 for (int i = 0; i
-
你已经回答了你自己的q,i的值超过了arraylist因为i+1
标签: java arraylist indexoutofboundsexception