代码如下
导致报错为 list.add();
按照正常逻辑来说应该不会出问题啊,但是问题还是出现,就开始找吧
先查看Arrays.asList();
发现这里就是new了一个ArrayList,所以我就去查看了ArrayList.add方法 发现并没有问题
注意:这里有个坑 Arrays.asList();的返回结果并不是 java.util.ArrayList类型 而是 Arrays类中 定义的一个内部类 虽然它和java.util.ArrayList一样都是继承自AbstractList 但是Arrays中的ArrayList并没有重写add方法 所以它直接调用了 AbstractList的add 方法,AbstractList默认直接抛出UnsupportedOperationException异常。
解决方案:
List<String> list = (ArrayList)Arrays.asList("1","2","3");
或者
List<String> list = new ArrayList();
list.add()