Maison  >  Article  >  Java  >  Comment comprendre les génériques Java

Comment comprendre les génériques Java

藏色散人
藏色散人original
2019-05-31 11:56:192943parcourir

Comment comprendre les génériques Java

Les génériques sont une nouvelle fonctionnalité de Java SE 1.5. La définition des génériques dans "Java Core Technology" est la suivante :

"Génériques" signifie code écrit Peut être réutilisé par. différents types d'objets.

On constate que des génériques ont été proposés pour écrire davantage de code réutilisable.

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.

Par exemple, la classe de collection commune LinkedList :

public class LinkedList<E> extends AbstractSequentialList<E> implements
    List<E>, Deque<E>, Queue<E>, Cloneable, Serializable {
//...
transient Link<E> voidLink;
//...

Vous pouvez voir qu'il y a une partie spéciale "" après le nom de la classe LinkedList1a4db2c2c2313771e5742b6debf617a1 nom qu'il implémente, et le type Link1a4db2c2c2313771e5742b6debf617a1 de ses membres contient également un "". Ce symbole est le paramètre de type, qui permet de transmettre différents types lors de la création d'une LinkedList au moment de l'exécution, comme une nouvelle LinkedList, de sorte que ses membres sont stockés. Le type est également String.

En fait, les principaux objectifs de l'introduction des génériques sont les suivants :

● La sécurité des types

Les principaux objectifs de génériques L'objectif est d'améliorer la sécurité des types des programmes Java

Les exceptions ClassCastException causées par des types Java incorrects peuvent être détectées lors de la compilation

Conformément au principe selon lequel plus une erreur se produit tôt, moins cher, c'est

● Élimine les lancers

Un avantage secondaire des génériques est que vous pouvez obtenir directement le type de cible lorsque vous l'utilisez, éliminant ainsi de nombreux lancers

Ce que vous obtenez correspond à ce dont vous avez besoin, ce qui rend le code plus lisible et réduit les risques d'erreurs

● Gains de performances potentiels

En raison de la façon dont les génériques sont implémentés , la prise en charge des génériques ne nécessite (presque) aucune JVM ou classes Modifications de fichiers

Tout le travail est effectué dans le compilateur

Le code généré par le compilateur est presque identique au code écrit sans utiliser de génériques (et lancers), juste plus garanti Tapez simplement la sécurité

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn