Junior — Middle
Qu'est-ce qui empêche d'utiliser des types de données de base dans les paramètres génériques?
sobes.tech IA
Réponse de l'IA
En Java, les génériques sont implémentés à l'aide de l'effacement de types (type erasure), ce qui signifie que l'information sur les types des paramètres génériques n'est pas disponible au moment de l'exécution.
Par conséquent, il n'est pas possible d'utiliser des types primitifs (int, boolean, etc.) comme paramètres génériques, car ils ne sont pas des objets et ne peuvent pas être représentés sous forme de classe.
Par exemple, il est incorrect d'écrire :
List<int> numbers; // Erreur
Au lieu de cela, il faut utiliser des wrappers :
List<Integer> numbers; // Correct
Cela est dû au fait que les génériques ne fonctionnent qu'avec des types d'objets, et les primitifs ne sont pas des objets.