长话短说,相信如果看到此文章的人,也一定都被Arrays.asList所折腾过,那么到底是什么原因呢?我们直接源码走起。
String[] roles =new String[]{"1","2","3"};
List list =Arrays.asList(roles);
String[] roles =new String[]{"1","2","3"};
List list=new ArrayList(Arrays.asList(roles));
list.add(xx);
String[] roles =new String[]{"1","2","3"};
List list =Arrays.asList(roles);
list.add(xxx);
仔细看返回的ArrayList对象并不属于Java.util包下的,而是属于java.util.Arrays包下的,并且java.util.Arrays包下的ArrayList是一个私有的静态内部类,它并没有包含集合的添加系列的方法,所以当我们调用add方法或addAll等等一系列方法的时候就会出现问题。(未知的错误)



