Syntaxe compacte pour l'instanciation de l'initialisation de la collection
Je suis à la recherche d'une syntaxe compacte pour l'instanciation d'une collection et d'y ajouter quelques éléments. Actuellement, je utiliser cette syntaxe:
Collection<String> collection =
new ArrayList<String>(Arrays.asList(new String[] { "1", "2", "3" }));
Me semble me rappeler qu'il y a une façon plus compacte de faire qui utilise un anonyme sous-classe de ArrayList
, puis ajoute les éléments de la sous-classe' constructeur. Cependant, je n'arrive pas à se souvenir de la syntaxe exacte.
OriginalL'auteur Dónal | 2010-09-22
Vous devez vous connecter pour publier un commentaire.
http://blog.firdau.si/2010/07/01/java-tips-initializing-collection/
yup!!
OriginalL'auteur nanda
Je suppose que vous êtes en train de penser à propos de
qui, une comapcted, donne
MOCHE, pour dire le moins. Cependant, il y a une variante pour les Tableaux.asList méthode :
Tableaux.asList(T...)
qui fournit comapcity et la lisibilité. Par exemple, il donne la ligne de code suivante :Et avis vous ne créez pas un anonyme sous-classe de la liste de tableaux douteux utilisation.
OriginalL'auteur Riduidel
Peut-être que c'était
Aussi connu comme double-support d'initialisation.
OriginalL'auteur Vivien Barousse
Vous pouvez créer une fonction d'utilité:
De sorte que vous pouvez l'appeler comme:
De cette façon, vous pouvez remplir une liste très facilement, et encore maintenir la mutable.
OriginalL'auteur Haroldo_OK
Voir L'initialisation d'une liste de tableaux sur une seule ligne
OriginalL'auteur dogbane
Peut-être que c'est juste moi, mais je ne vois pas le point de compliquer les choses, seules fins de l'exercice de l'écriture, plus court, plus rapide code. Le choix de taper légèrement moins de lignes de code et beaucoup plus facile de débogage/la révision, je suis sûr que j'ai choisi la deuxième option.
Donc, sauf si il y a une raison particulière pour pousser pour garder ce court, je dirais bâton pour le rasoir d'Ockham, et compte tenu d'un certain nombre de solutions à un problème, rendez-vous avec le plus simple. De cette façon, quand quelque chose tourne mal (la loi de Murphy clairement la dicte) vous aurez un temps beaucoup plus facile à suivre. 🙂
OriginalL'auteur posdef