Maison > Java > Javacommencer > La différence entre T et ? dans les génériques Java

La différence entre T et ? dans les génériques Java

王林
Libérer: 2020-01-15 16:28:17
original
5956 Les gens l'ont consulté

La différence entre T et ? dans les génériques Java

T représente un type.

Ajouter à la classe :

class SuperClass<A>{}
Copier après la connexion

Ajouter à la méthode :

public <T>void fromArrayToCollection(T[] a, Collection<T> c){}
Copier après la connexion

(Partage de tutoriel vidéo d'apprentissage gratuit : tutoriel vidéo Java)

Le sur la méthode signifie que les paramètres génériques sont utilisés entre parenthèses. Si les génériques sont passés dans la classe, ils n'ont pas besoin d'être passés ici. Les paramètres génériques sur le type appelant sont fournis. , à condition qu'ils soient utilisés dans la méthode. Le type générique est cohérent avec le type générique passé dans la classe.

class People<T>{
public void show(T a) {
   }
}
Copier après la connexion

T extends T2 signifie que le paramètre transmis est T2 ou un sous-type de T2.

? est un caractère générique et fait référence à tous les types.

est généralement utilisé pour définir une variable de référence. L'avantage est que, comme indiqué ci-dessous, la définition d'une variable de référence sup peut pointer vers plusieurs objets.

SuperClass<?> sup = new SuperClass<String>("lisi");
sup = new SuperClass<People>(new People());
sup = new SuperClass<Animal>(new Animal());
Copier après la connexion

Si vous n'utilisez pas ? et que vous utilisez un type fixe, alors :

SuperClass<String> sup1 = new SuperClass<String>("lisi");
SuperClass<People> sup2 = new SuperClass<People>("lisi");
SuperClass<Animal> sup3 = new SuperClass<Animal>("lisi");
Copier après la connexion

C'est l'avantage du caractère générique ?

Articles et tutoriels connexes recommandés : Tutoriel d'introduction à 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal