有时使用不可变的空集合是适当的。本Collections类提供了一种有效的方式来获得这样的集合:
List<String> anEmptyList = Collections.emptyList(); Map<Integer, Date> anEmptyMap = Collections.emptyMap(); Set<Number> anEmptySet = Collections.emptySet();
这些方法是通用的,它们会自动将返回的集合转换为分配给它的类型。即,例如调用emptyList()可以被分配到任何类型的List用于和同样emptySet()和emptyMap()。
这些方法返回的集合是不可变的,因为它们将抛出UnsupportedOperationException,如果您尝试拨打这将改变它们的内容(方法add,put等等)。这些集合主要用于代替空方法结果或其他默认值,而不是使用null或创建对象new。