Les fonctions des génériques sont les suivantes :
(Tutoriel recommandé : Tutoriel d'introduction à Java)
1.
L'objectif principal des génériques est d'améliorer la sécurité des types des programmes Java. Vérification de type solide au moment de la compilation ; en connaissant les restrictions de type des variables définies à l'aide de génériques, le compilateur peut vérifier les hypothèses de type à un degré beaucoup plus élevé. Sans génériques, ces hypothèses n'existent que dans l'esprit du programmeur (ou, si vous êtes chanceux, dans les commentaires du code).
2. Éliminer les transtypages
Un avantage secondaire des génériques est l'élimination de nombreux transtypages dans le code source. Cela rend le code plus lisible et réduit les risques d'erreurs.
3. Gains de performances potentiels
Les génériques apportent la possibilité d'optimisations plus importantes. Dans l'implémentation initiale des génériques, le compilateur insère des transtypages (sans génériques, le programmeur spécifierait ces transtypages) dans le bytecode généré. Mais le fait que davantage d’informations de type soient disponibles pour le compilateur ouvre la possibilité d’optimisations dans les futures versions de la JVM.
En raison de la manière dont les génériques sont implémentés, la prise en charge des génériques ne nécessite (presque) aucune modification de la JVM ou des fichiers de classe. Tout le travail est effectué dans le compilateur, qui génère un code similaire à ce que vous écririez sans génériques (et transtypages), mais avec un type plus sûr.
L'avantage de l'introduction des génériques dans le langage Java est la sécurité et la simplicité. L'avantage des génériques est que la sécurité des types est vérifiée lors de la compilation et que tous les transtypages sont automatiques et implicites, améliorant ainsi la réutilisation du code.
(Tutoriel vidéo recommandé : Tutoriel vidéo Java)
4. Meilleure réutilisabilité du code
comme la mise en œuvre d'algorithmes génériques.
Lors de la conception du framework, BaseDao
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!