今天在线上发现异常:java.lang.UnsupportedOperationException,简单场景代码描述如下:
public class Test {
public static void main(String[] args) {
List<Integer> result = getIntegerList();
result.add(3);
System.out.println(result.toString());
}
private static List<Integer> getIntegerList() {
return Collections.emptyList();
}
}
运行结果:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at Test.main(Test.java:10)
原理不用多说(Collections方法中无add方法),一大坑!开发时还是经验不足,没有考虑到细节,反思中……