2010-07-07 4 views
2

Quelle est la principale différence entre une collection de cordes (collection) et une collection simple et simple?Collection <String>

+0

Voir aussi http://stackoverflow.com/questions/2770321/what-is-a-raw-type-and-why-shouldnt-we-use-it – polygenelubricants

Répondre

7

Un simple Collection acceptera n'importe quel type de Object, tandis qu'un Collection<String> n'acceptera que String s.

Si au lieu de String vous aviez une Collection de quelque chose qui pourrait être étendu, dire Collection<List>, la collection accepteraient tout ce qui est un sous-type de List. Sun's Java Tutorial on Generics est un bon endroit où aller pour en savoir plus.

+1

Veuillez ajouter "" dans la deuxième partie de votre phrase ... – Koen

+0

@Koen: Merci. J'ai oublié que l'analyseur WMD annule ceux à moins que vous l'ayez mis dans des étendues de code. –

+0

Merci pour la notification. J'ai pensé la même première quand j'ai vu mon message et ensuite réalisé l'évidence. –

3

Une fois compilé, rien ... Mais cela peut vous aider à ne pas essayer de placer un objet autre qu'une chaîne pendant le codage, et vous n'avez pas besoin de retourner les objets que vous récupérez dans la collection.

0

Génériques. L'utilisation d'une collection en tant qu'argument ou en tant que type de retour garantit que l'appelant/l'accesseur anticipe la présence des objets dans la collection. cela permet d'éviter la conversion inutile en String.

L'effacement de type assure que la définition générique est supprimée à l'exécution. Une fonctionnalité qui aide à la rétrocompatibilité.

1

collection est génériques, et il est utilisé pour définir le type de données qu'il va traiter, les précautions pour l'erreur d'exécution, mieux c'est de le dire au moment de la compilation. la collection si simple peut accepter n'importe quoi mais la collection de chaîne n'acceptera que la chaîne.

Questions connexes