Bonjour,
Pour créer une liste v, que vaut-il mieux faire ?
ouCode:List<String> v = new Vector<String>();
Puisque finalement ça revient au même, la classe Vector implémentant la classe List...Code:Vector<String> v = new Vector<String>()
Merci.
Bonjour,
Pour créer une liste v, que vaut-il mieux faire ?
ouCode:List<String> v = new Vector<String>();
Puisque finalement ça revient au même, la classe Vector implémentant la classe List...Code:Vector<String> v = new Vector<String>()
Merci.
Le type Vector est deprecated, dans la documentation, on peut voir sa définition.
L'objet ArrayList serait une alternative...Citation:
Envoyé par Documentation
Ok merci pour le lien (bien que je n'ai pas encore toutes les connaissances nécessaires pour comprendre pourquoi on évite d'utiliser Vector "synchronize objetcts" ?)
Bonjour,
Non, la classe Vector n'est pas deprecated, elle est simplement à éviter car il est préférable d'utiliser son équivalent non synchronisé qu'est l'ArrayList.
Quoi qu'il en soit, il est préférable de typer ses objets, lorsque cela est possible, avec l'interface qu'implémente l'objet que l'on instancie. L'intérêt est la généricité, ce qui favorise la factorisation de méthodes, donc la réutilisabilité.
En d'autres termes, on peut voir l'intérêt de cette bonne pratique une fois qu'on sait vraiment coder en pensant à la testabilité, l'évolutivité et à la maintenabilité du code. Il ne faut donc pas se priver d'appliquer ce principe même si on n'en saisit pas encore toute la finalité.
La synchronisation a toujours un cout donc il vaut mieux l'éviter lorsque ce n'est pas strictement nécessaire...
D'accord.
Merci.