Collections.emptyList() 和 Collections.EMPTY_LIST
2022-08-31 09:25:31
在Java中,我们有Collections.emptyList()和Collections.EMPTY_LIST。两者具有相同的属性:
返回空列表(不可变)。此列表是可序列化的。
那么使用一个或另一个之间的确切区别是什么?
在Java中,我们有Collections.emptyList()和Collections.EMPTY_LIST。两者具有相同的属性:
返回空列表(不可变)。此列表是可序列化的。
那么使用一个或另一个之间的确切区别是什么?
Collections.EMPTY_LIST
返回旧式列表
Collections.emptyList()
使用类型推断,因此返回 List<T>
Collections.emptyList() 是在 Java 1.5 中添加的,它可能总是更可取的。这样,您就不需要在代码中不必要地进行转换。
Collections.emptyList()
本质上为你做演员。
@SuppressWarnings("unchecked")
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}
让我们来看看源头:
public static final List EMPTY_LIST = new EmptyList<>();
和
@SuppressWarnings("unchecked")
public static final <T> List<T> emptyList() {
return (List<T>) EMPTY_LIST;
}