ArrayList add()/clear()数组指针越界?原来是线程同步问题。
> 为什么 ArrayList 集合在add 的时候会数组越界?集合ArrayList.clear()出现了数组越界?
第一次遇到ArrayList的claer方法抛出异常,仔细一看,并不是空指针,跟踪源码,发现是某个类的checkForComodification方法抛出ConcurrentModificationException.
Arrays.asList()回返回一个ArrayList,但此ArrayList非彼ArrayList,这个ArrayList是Arrays里的静态内部类,只不过他们有相同的名字,相同的父类而已。
解决方案:加同步锁;使用vector;使用线程安全的集合。