Le titre dit tout. C'est une question simple vraiment. Je voulais juste comprendre comment ces deux choses fonctionnent vraiment. Quelle serait la meilleure option pour retourner une liste vide immuable? Serait-il préférable de faire Collections.emptyList() ou ImmutableList.of() ou y a-t-il une troisième et meilleure option?Collections.emptyList() vs ImmutableList.of de gava()
4
A
Répondre
4
J'utiliser Collections.emptyList()
parce
1) pourquoi utiliser une bibliothèque 3ème partie lorsque vous avez déjà la même chose dans JDK
2)Collections.emptyList()
retourne une vraie classe simple privée
Collections.EMPTY_LIST
(voir Collections.java JDK).
Considérant que ImmutableList.of()
renvoie une liste immuable de Guava avec toutes les fonctionnalités comme si elles contenaient vraiment des objets, en l'initialisant avec new Object[0]
.
Si vous n'avez besoin que de la liste vide, vous n'avez pas besoin de la fonctionnalité ImmutableList
.
+1
Votre troisième point est faux. Dans Guava 21, 'ImmutableList.of()' renvoie une liste vide singleton, qui est 'new RegularImmutableList
Si votre méthode prend un 'ImmutableList' alors évidemment vous avez besoin de la méthode goyave. Dans le cas contraire, l'équipe Gava elle-même dit utiliser la fonctionnalité JDK de préférence à Goyave si elle est disponible. –
J'utilise toujours 'ImmutableList.of'. C'est 5 caractères plus courts. – ZhekaKozlov
@Zheka Si vous utilisez une importation statique, 'empyList()' est admirablement succinct et 'of()' n'a aucun sens. –