我承认我是一个标题党!
然后说正题,当然我说的可能不是Bug,只是我的一个发现
最近在做一个项目!
比如说,刚开始static ArrayList进入另外一个.java时,debug试了一下还很正常
但是不知道为什么,等到要取列表元素,突然报错说,the location is 1,the size is 0
为什么!求高手解答!难道真的是static ArrayList的bug吗

解决方案 »

  1.   

    没注意同步吧.ArrayList是线程不安全的.
      

  2.   

    Collections.synchronizedList(List<T> list),让他变成同步的
      

  3.   

    jdk1.5 以上有并发包 ConcurrentArrayList
      

  4.   


    那来的?
    倒有个CopyOnWriteArrayList.
      

  5.   

    还有人回答吗?我知道是ArrayList不是同步安全的
    但问题是我的程序就是一个单线程,没有用到什么多线程,我想会不会是因为GC的问题,把ArrayList的资源回收了
      

  6.   

    这不好写,因为一般情况下,是没问题
    这样说我吧,我是做android的,从这个Activity到那个Activity
    在第二个Activity刚开始,还是可以用的,不知道为什么再次调用时就发生了the size is 0,the position is X(不定),这样就发生了越界异常
    不过这样的情况不是经常发生
      

  7.   

    这种问题不要动不动说JDK的BUG,发展这么多年,怎么会有这种低级的BUG存在,多想想是不是自己代码出的问题。