Bootstrap

Collections.emptyList() 和 Collections.EMPTY_LIST的区别

最近看到了java中的Collections.emptyList() 和 Collections.EMPTY_LIST ,网上大多数的说法都有问题,只是解释了支持泛型和不支持泛型。下面我就说下两者的区别。

一、Collections.emptyList()的源码:

public static final <T> List<T> emptyList() {
	return (List<T>) EMPTY_LIST;
    }
 Collections.EMPTY_LIST的源码:

 public static final List EMPTY_LIST = new EmptyList();
可以看出emptyList() 是返回一个泛型的空集合,而EMPTY_LIST只返回一个空集合,emptyList()还是通过EMPTY_LIST实现 返回的。

二、在使用过程中,编译器只会提示警告信息,不会报错


三、两者都不能添加元素


总之两者除了在编译期间 警告外没什么区别。

;