问题
测试提了一个BUG给我,定位了一下原因,是因为Arrays.asList("1") , Collections.singletonList("1") , 这种代码导致的。
写了一个Demo测试一下
List<String> strings = Collections.singletonList("1");
strings.add("1");
System.out.println(strings);
果然报了一样的错误:
原因
是因为Arrays.asList(“1”) , Collections.singletonList(“1”) 返回的List实现类不是java.util包下面的。而是一个静态内部类。
里面很多方法都没有具体的实现。
我们可以这么写,即可解决:
List<String> strings = new ArrayList<>(Collections.singletonList("1"));
strings.add("1");
System.out.println(strings);
这样就不会报错了。