不可變的空集合

有時使用不可變的空集合是合適的。該 Collections 類提供了一種有效的方式來獲得這樣的集合:

List<String> anEmptyList = Collections.emptyList();
Map<Integer, Date> anEmptyMap = Collections.emptyMap();
Set<Number> anEmptySet = Collections.emptySet();

這些方法是通用的,會自動將返回的集合轉換為它所分配的型別。也就是說,例如 emptyList() 的呼叫可以分配給任何型別的 List,同樣也可以分配給 emptySet()emptyMap()

這些方法返回的集合是不可變的,因為如果你試圖呼叫會改變其內容的方法(addput 等),它們會丟擲 UnsupportedOperationException。這些集合主要用作替代空方法結果或其他預設值,而不是使用 null 或使用 new 建立物件。