Collections.emptyList() 会引起不支持的操作异常

引起原因

  1. AbstractList操作addAll会默认抛异常UnsupportedOperationException

代码分析

  1. 返回的集合:Collections.emptyList();

image.png

  1. 查看源码 返回的是EmptyList 继承AbstractList

image.png
image.png

  1. AbstractList里的addaddAll等操作都默认抛UnsupportedOperationException

image.png
image.png

建议使用:Lists.newArrayList() 来替换Collections.emptyList()