/**
* 调用方法list.isEmpty(),list.size()方法,返回值都一致
* Collections.emptyList()返回的是范型的空集合,内部调用的Collections.EMPTY_LIST做范型转换
* Collections.EMPTY_LIST返回的是空集合
* Collections.emptyList()与Collections.EMPTY_LIST调用add()方法时报错:UnsupportedOperationException
*/
List<String> list = new ArrayList<>();
list.add("213");
System.out.println(list.isEmpty());
System.out.println(list.size());
list = Collections.EMPTY_LIST;
list.add("213"); //
System.out.println(list.isEmpty());
System.out.println(list.size());
list = Collections.emptyList();
list.add("213"); //
System.out.println(list.isEmpty());
System.out.println(list.size());
以上介绍了Collections.emptyList() 和 Collections.EMPTY_LIST的区别
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}