java.lang.UnsupportedOperationException

mac2025-04-13  14

问题

测试提了一个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);

这样就不会报错了。

最新回复(0)