1

我在这部分代码中收到 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 >>>>");
    }
4

2 回答 2

8

如果您的长度为 0,myURL = myURL.substring(0, myrssURL.length() - 1);则将评估为myURL = myURL.substring(0,-1);您在哪里得到超出范围的错误。

要修复,您应该检查arrayList.isEmpty()长度是否为 0。

于 2013-07-19T16:41:04.200 回答
4

检查是否有空?

if (myList != null && !myList.isEmpty()) {

// same code as before
}
于 2013-07-19T16:40:53.757 回答