Maison >Java >javaDidacticiel >Pourquoi Java utilise-t-il des types de portée (génériques) ?
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.
En détail :
1.
L'objectif principal des génériques est d'améliorer la sécurité des types des programmes Java. 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. Éliminez la conversion de type forcée.
Un avantage secondaire des génériques est l'élimination de nombreux transtypages dans votre 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'une plus grande optimisation. 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, leur prise en charge 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.
1. Les paramètres de type des génériques ne peuvent être que des types de classe (y compris des classes personnalisées), pas des types simples.
2. Un même type générique peut correspondre à plusieurs versions (car le type du paramètre est incertain), et différentes versions d'instances de classe générique sont incompatibles.
3. Les génériques peuvent avoir plusieurs paramètres de type.
4. Les types de paramètres génériques peuvent utiliser l'instruction extends, telle que
5. Les types de paramètres génériques peuvent également être des types génériques. Par exemple Class> classType = Class.forName(Java.lang.String);
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!