Sobes.tech
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.