Java Language Collections vides immuables


Exemple

Parfois, il est approprié d'utiliser une collection vide immuable. La classe Collections fournit des méthodes pour obtenir de telles collections de manière efficace:

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

Ces méthodes sont génériques et convertissent automatiquement la collection renvoyée au type auquel elle est affectée. C'est-à-dire qu'une invocation de par exemple emptyList() peut être affectée à n'importe quel type de List , de même que emptySet() et emptyMap() .

Les collections renvoyées par ces méthodes sont immuables dans la mesure où elles lancent une UnsupportedOperationException si vous tentez d'appeler des méthodes qui modifieraient leur contenu ( add , put , etc.). Ces collections sont principalement utiles en tant que substituts de résultats de méthode vides ou d'autres valeurs par défaut, au lieu d'utiliser null ou de créer des objets avec new .