List<Integer> set = Arrays.asList(1,1,11,111); set.add(55);//(1) set.remove(2);//(2) 结果:java.lang.UnsupportedOperationException (1)(2)是发生错误的地方 疑问:怎么会发生错误呢,List不是会自动变化长度吗
List<Integer> set = Arrays.asList(1,1,11,111); set.add(55);//(1) set.remove(2);//(2) 结果:java.lang.UnsupportedOperationException (1)(2)是发生错误的地方 疑问:怎么会发生错误呢,List不是会自动变化长度吗
Arrays.asList()返回的List是Arrays工具类的内部类,是只读的,不能新增和删除。查看jdk可以看到asList()里是把数据放到private final E[] a;里的,final修饰的数组,长度是固定的。