【发布时间】:2020-08-04 12:45:45
【问题描述】:
我只是想知道 java.util.Collections.emptyList() 方法的具体用途。为什么给出这样的方法,它在 Java 中返回不可变列表?可以用它做什么?
【问题讨论】:
-
当您的代码将返回
null时很有用。返回null通常是不好的做法,您应该尽可能返回一个虚拟对象(在本例中为空列表)
标签: java collections empty-list
我只是想知道 java.util.Collections.emptyList() 方法的具体用途。为什么给出这样的方法,它在 Java 中返回不可变列表?可以用它做什么?
【问题讨论】:
null 时很有用。返回null 通常是不好的做法,您应该尽可能返回一个虚拟对象(在本例中为空列表)
标签: java collections empty-list
当你想返回一个空列表时它很有用。重用一个规范的空列表比每次都创建一个新列表更有效。
List<Integer> numbersBetween(int from, int to) {
if (to < from) return Collections.emptyList();
else {
//do what you have to do
}
}
【讨论】:
在遗留应用程序中,使用 null 值而不是空列表、集合或映射是很常见的。
public List<String> getElements() {
if (bla < 0) {
return null;
}
}
public List<String> getElements() {
if (bla < 0) {
return Collections.emptyList();
}
}
在我看来,最好使用空的 List<>、Set<> 或 Map<> 而不是 null 值。
【讨论】: