Que signifie <>
En Java, <> fait référence aux génériques. Les génériques peuvent détecter les erreurs de type lors de la compilation et empêcher l'apparition de types non définis. L'essence des génériques est un type paramétré, ce qui signifie que le type de données sur lequel l'opération est effectuée est spécifié en tant que paramètre.
Définition des génériques :
Les génériques sont une fonctionnalité des langages de programmation. Permet aux programmeurs écrivant du code générique dans des langages de programmation fortement typés de définir des parties mutables qui doivent être spécifiées avant utilisation.
Divers langages de programmation, leurs compilateurs et environnements d'exécution prennent en charge différemment les génériques. Un type de données qui paramétrise les types pour réaliser la réutilisation du code et améliorer l’efficacité du développement logiciel.
Les classes génériques sont des types de référence et des objets tas. Elles introduisent principalement le concept de paramètres de type.
Avantages de l'utilisation de génériques
L'introduction de génériques dans le langage Java est une amélioration fonctionnelle majeure. Non seulement les langages, les systèmes de types et les compilateurs ont considérablement changé pour prendre en charge les génériques, mais les bibliothèques de classes ont également subi des changements majeurs, comme le framework de collection, sont devenues génériques. Cela apporte de nombreux avantages :
1. Sécurité des types
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 niveau très élevé. Sans génériques, ces hypothèses n’existent que dans l’esprit des développeurs de systèmes.
Les génériques permettent au compilateur d'appliquer ces contraintes de type supplémentaires en capturant ces informations de type supplémentaires dans la déclaration de variable. Les erreurs de type sont désormais détectées au moment de la compilation au lieu d'être affichées sous forme d'exception ClassCastException au moment de l'exécution. Le déplacement de la vérification de type du moment de l'exécution vers le moment de la compilation aide les développeurs Java à détecter les erreurs plus tôt et plus facilement, et peut améliorer la fiabilité du programme.
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. Bien que la réduction des conversions puisse améliorer le code qui utilise des classes génériques, il existe une pénalité correspondante lors de la déclaration de variables génériques. Utiliser une variable générique une seule fois dans un programme simple ne réduit pas la popularité du code. Mais pour les grands programmes qui utilisent plusieurs fois des variables génériques, le nombre de likes peut être accumulé pour réduire le nombre de likes. Par conséquent, une fois que les génériques auront éliminé la conversion de type forcée, le code sera plus clair et plus propre.
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. Bien que la réduction des conversions puisse améliorer le code qui utilise des classes génériques, il existe une pénalité correspondante lors de la déclaration de variables génériques. Utiliser une variable générique une seule fois dans un programme simple ne réduit pas la popularité du code. Mais pour les grands programmes qui utilisent plusieurs fois des variables génériques, le nombre de likes peut être accumulé pour réduire le nombre de likes. Par conséquent, une fois que les génériques auront éliminé la conversion de type forcée, le code sera plus clair et plus propre.
3. Efficacité opérationnelle plus élevée
Dans la programmation non générique, le passage d'un seul type en tant qu'objet entraînera des opérations de boxing et de déballage, qui entraînent toutes deux une surcharge importante. Après l'introduction des génériques, il n'est plus nécessaire d'effectuer des opérations de Boxing et Unboxing, l'efficacité opérationnelle est donc relativement élevée. Surtout dans les systèmes où les opérations de collecte sont très fréquentes, l'amélioration des performances apportée par cette fonctionnalité est plus évidente.
4. 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, les développeurs de systèmes Java spécifieraient 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.
Tutoriel recommandé : Tutoriel Java
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!