首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ArrayList.add抛出ArrayIndexOutOfBoundsException

ArrayList.add抛出ArrayIndexOutOfBoundsException
EN

Stack Overflow用户
提问于 2012-03-09 18:19:53
回答 1查看 16.6K关注 0票数 21

我正在尝试向ArrayList添加一个对象,它抛出的ArrayIndexOutOfBoundsException如下所示

代码语言:javascript
复制
private void populateInboxResultHolder(List inboxErrors){
    inboxList = new ArrayList();
    try{                
        inboxHolder = new InboxResultHolder();
        //Lots of Code
        inboxList.add(inboxHolder);
    }catch(Exception e){
        e.printStackTrace();
    }
}

例外的是

代码语言:javascript
复制
[3/7/12 15:41:26:715 UTC] 00000045 SystemErr     R java.lang.ArrayIndexOutOfBoundsException
[3/7/12 15:41:26:721 UTC] 00000045 SystemErr     R      at java.util.ArrayList.add(ArrayList.java:378)
[3/7/12 15:41:26:721 UTC] 00000045 SystemErr     R      at com.ml.fusion.ui.common.web.bean.inbox.InboxSearchBean.populateInboxResultHolder(InboxSearchBean.java:388)    
[3/7/12 15:41:26:721 UTC] 00000045 SystemErr     R      at com.ml.fusion.ui.common.web.bean.inbox.InboxSearchBean.searchInboxErrors(InboxSearchBean.java:197)
[3/7/12 15:41:26:721 UTC] 00000045 SystemErr     R      at com.ml.fusion.ui.common.web.bean.inbox.InboxSearchBean.viewInbox(InboxSearchBean.java:207)

但是根据ArrayList.add的签名,它不应该抛出这个异常。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2012-03-09 18:25:25

如果使用得当,ArrayList.add()永远不会抛出ArrayIndexOutOfBoundsException,所以看起来你正在以它不支持的方式使用你的ArrayList

从您发布的代码很难判断,但我猜测您正在从多个线程访问您的ArrayList

ArrayList没有同步,因此不是线程安全的。如果这就是问题所在,你可以通过使用Collections.synchronizedList()包装你的List来解决它。

将您的代码更改为以下代码应该可以解决此问题:

代码语言:javascript
复制
private void populateInboxResultHolder(List inboxErrors){
    List inboxList = Collections.synchronizedList(new ArrayList());
    try{                
        inboxHolder = new InboxResultHolder();
        //Lots of Code
        inboxList.add(inboxHolder);
    }catch(Exception e){
        e.printStackTrace();
    }
}
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9632387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档