解决方案 »

  1.   

    我用MyEclipse的debug的时候发现list.size()是17,但是其中只有16个String对象,然后我遍历这个list的时候就抛数组越界异常...我用
    for(int i=0;i<list.size();i++){}遍历
    for(Iterator i;...)遍历都试过了,效果都是数组越界,有没有哪位大侠碰见一样的情况过啊?
      

  2.   

    这是不是java底层的一个bug还是由于list不是线程安全而造成的呢?
    哪位大侠有类似的经历,我百度了全然没有答案啊....
      

  3.   

    要是重复了9999的话,实际元素岂不是更少了呢?   那list.size()方法java底层是怎么实现的啊?谢谢回复
      

  4.   

    而且应该说,List中可以重复添加一样的字符串才对啊...他们都是new出来的,内存地址不一样啊
      

  5.   

    sorry,今天工作回来匆忙,忘记拷贝代码了,代码牵涉到了很多业务...但是在这一个地方总是出现这个问题,一调试发现就是这样的问题....
      

  6.   

    你的List具体实现类是如何规定的?如果他不保证size=元素数量,那结果是这样没啥奇怪的.
    ps:为啥你用Iterator的方式进行循环时会出现数组越界呢?这很可能已经脱离数组了...
      

  7.   

    (1)ArrayList不是线程安全的
    (2)不是bug,是你不会用。作为应用最广泛的集合类,从jdk1到jdk7,这都十几年了,如果是bug早就修复了
      

  8.   

    你的代码涉及到同步吗
    list不是线程安全的