从 有效的Java , 项目#43 -
"Return empty arrays or collections, notnull"演示返回一个空的集合,甚至演示如何使用这些
emptyList(),
emptySet()和
emptyMap()对集合类的方法来得到一个空的集合,也有保持不变的额外好处。从
项目#15开始
"Minimize Mutability"。
来自Collections-emptySet-Collections-emptyList-
Collections
它是一种编程习语。这适用于不希望使用null变量的人。因此,在初始化集合之前,他们可以使用空集合。
注意: 以下代码仅是示例(根据您的用例进行更改):
private Set myset = Collections.emptySet();void initSet() { myset = new HashSet();}void deleteSet() { myset = Collections.emptySet();}这些方法具有两个优点:
它们更加简洁,因为您无需显式键入集合的泛型类型-通常仅从方法调用的上下文中进行推断。
它们效率更高,因为它们不必费心创建新对象。他们只是重复使用一个现有的空且不可变的对象。通常,这种影响很小,但偶尔(非常,很少)很重要。



