Des collections brutes aux types génériques
Remplacez les types de collection bruts et les casts de récupération par une sécurité de type vérifiée à la compilation.
List names = new ArrayList();
names.add("Duke");
String name = (String) names.get(0);
List<String> names = new ArrayList();
names.add("Duke");
String name = names.get(0);
Sécurité à la compilation
Les types d'éléments invalides échouent à la compilation plutôt qu'à l'exécution.
Aucun cast de récupération
Les valeurs conservent leur type d'élément déclaré.
API auto-documentées
Les déclarations de collection indiquent exactement ce qu'elles contiennent.
Les génériques sont disponibles depuis JDK 5 (septembre 2004).
Les collections brutes acceptent des types d'objet arbitraires et reportent les erreurs de type jusqu'à l'exécution d'un cast. Les arguments de type génériques permettent au compilateur de valider les écritures et les lectures, suppriment les casts, améliorent l'assistance de l'IDE et rendent les contrats d'API explicites. Les types bruts ne devraient normalement subsister qu'aux frontières d'interopérabilité héritées soigneusement isolées.