-1

我正在做消息传递平台。Msgdesc 是我的消息,但有人发送消息,有人不发送。所以我在 msgdesc 中有一些日期。如果我不存在任何数据,我什么也不想做,但如果我想看到带有名字的 msgdesc surname.But 我得到java.lang.ArrayIndexOutOfBoundsException: length=0; index=1 有人可以帮帮我吗?

代码:

for (int i = 0; i < midArr.length; i++) {
    //getting desc from db
    getMessagedbXML = messagedbInstance.getMessages(mid,midArr[i]);             
    parseXMLDB(getMessagedbXML);
    UserList=new String[midArr.length];
    **//getting error here**    
    if((msgdesc[i].length()==0)) {
        UserList[i] = nameArr[i]+" "+surnameArr[i];
    } else {
        UserList[i] = nameArr[i]+" "+surnameArr[i]+" "+msgdesc[i];
    }
}
4

2 回答 2

3

改成这样?

if(msgdesc.length() == 0 || msgdesc[i].length() == 0)

(不知道是什么类型msgdesc

于 2013-03-04T13:16:42.460 回答
2

我的猜测是您使用了错误的变量(msgdesc)。

或者更确切地说,您使用了错误的测试。

采用

if (msgdesc.length()!=0 && msgdesc[i].length()!=0))

代替

if (msgdesc[i].length()!=0))
于 2013-03-04T13:16:20.410 回答