2013-07-19 35 views
1

我得到这部分代码中的StringIndexOutOfBounds异常。
捕获myList的字段在UI中是可选的。仅当myList/myURL字符串为空时才会发生此错误。我如何处理它?空arrayList和空字符串抛出StringIndexOutOfBounds异常

有人可以纠正我在这里做错了什么?

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 >>>>"); 
    } 

回答

8

如果长度为0,myURL = myURL.substring(0, myrssURL.length() - 1);将评估为myURL = myURL.substring(0,-1);这是你在哪里让你界失误了。

要解决问题,您应该检查arrayList.isEmpty()或长度是否为0.

4

检查容器?

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

// same code as before 
}