L'introduction des génériques dans Java 5 a été le résultat d'un très long travail de spécifications, étalé sur plus de cinq ans. Le but était de doter le langage Java d'un système de templates, à la façon du C++, tout en conservant la compatibilité du
byte code
.
La première fonction de l'utilisation des génériques est d'éviter d'utiliser des méthodes détypées dans une application, et de multiplier les
casts
de
Object
vers les types que l'on manipule finalement.