Java 集合的用途是什么。空映射、空列表、空集合
既然它们都是不可变的,为什么要使用它呢?有时候,它比返回Java 集合的用途是什么。空映射、空列表、空集合,java,Java,既然它们都是不可变的,为什么要使用它呢?有时候,它比返回null更好 public List<?> getList(){ if(list == null){ return Collections.emptyList(); } return list; } public List getList(){ if(list==null){ 返回集合。emptyList(); } 退货清单; } 它们是方便的功能:对于必须返回非空值的函数,您可以使
null
更好
public List<?> getList(){
if(list == null){
return Collections.emptyList();
}
return list;
}
public List getList(){
if(list==null){
返回集合。emptyList();
}
退货清单;
}
它们是方便的功能:对于必须返回非空值的函数,您可以使用它们,不必创建新对象,也可以对它们进行相等性检查 只需添加到上述内容: **在方法调用方将接收空的内容而不是实例化的列表/映射的情况下,使用空列表/映射/集可以获得一些性能优势。如果您查看Collections.java的源代码,您可以看到EmptyList,EmptyMap静态类具有与常规ArrayList不同的精简方法实现。哈希映射 **节省JVM堆空间,因为没有为这些空集合设置初始容量
上面的内容看起来可能并不重要,但是重要的考虑因素和最佳实践。返回一个不变的列表是可以的;而且,只要文档中没有不同的说明,它甚至是首选的方式