不可變的空集合
有時使用不可變的空集合是合適的。該 Collections
類提供了一種有效的方式來獲得這樣的集合:
List<String> anEmptyList = Collections.emptyList();
Map<Integer, Date> anEmptyMap = Collections.emptyMap();
Set<Number> anEmptySet = Collections.emptySet();
這些方法是通用的,會自動將返回的集合轉換為它所分配的型別。也就是說,例如 emptyList()
的呼叫可以分配給任何型別的 List
,同樣也可以分配給 emptySet()
和 emptyMap()
。
這些方法返回的集合是不可變的,因為如果你試圖呼叫會改變其內容的方法(add
,put
等),它們會丟擲 UnsupportedOperationException
。這些集合主要用作替代空方法結果或其他預設值,而不是使用 null
或使用 new
建立物件。