我在代码的这一部分得到了StringIndexOutOfBounds异常 捕获myList的字段在UI中是可选的。仅当myList / myURL字符串为空时才会发生此错误。我该如何处理?
有人可以纠正我在这里做错了吗?
if (myList != null) {
for (int r = 0; r < myList.size(); r++) {
myURL = myURL + myList.toString() + ",";
}
myURL = myURL.substring(0, myrssURL.length() - 1);
myURL = myURL.replace("[", "").replace("]", "");
}
else
{
rssList.clear();
rssURL=null;
System.out.println("inside else >>>>");
}
答案 0 :(得分:8)
如果您的长度为0,则myURL = myURL.substring(0, myrssURL.length() - 1);
将评估为myURL = myURL.substring(0,-1);
这是您越界出错的地方。
要修复,您应该检查arrayList.isEmpty()
或长度是否为0。
答案 1 :(得分:4)
检查空箱?
if (myList != null && !myList.isEmpty()) {
// same code as before
}