Les collections Java stockent uniquement des objets, pas des types primitifs; cependant, nous pouvons stocker les classes wrapper.
Pourquoi cette contrainte?
class
, plutôt par la JVM. L'instruction int i = 1
définit un pointeur vers l'instance singleton de l'objet qui définit int
dans la JVM, définie sur la valeur 1
définie quelque part dans la JVM. Oui, des pointeurs en Java - cela vous est simplement retiré par l'implémentation du langage. Les primitives ne peuvent pas être utilisées comme génériques car les prédicats de langage tous les types génériques doivent être du supertype Object
- d'où la raison de la A<?>
compilation A<Object>
au moment de l'exécution.