1. Wildcard, représente un type inconnu, qui représente un type dont vous ne vous souciez pas ou dont vous ne pouvez pas déterminer le fonctionnement réel. Il est généralement utilisé en conjonction avec les classes de conteneurs.
public void testV(List<?> list) {}
2, étend T>, définit la limite supérieure pendant laquelle seule la capacité de lecture est disponible. Cette approche indique que le type paramétré peut être le type spécifié ou un sous-type.
//t1要么是Test2,要么是Test2的子类 public void testC(Test1<? extends Test2> t1) { Test2 value = t1.getValue(); System.out.println("testC中的:" + value.getT()); }
3. super T>, définition de limite inférieure, avec capacité de lecture et capacité d'écriture partielle, les sous-classes peuvent écrire dans les classes parentes. Cette méthode indique que le type paramétré peut être un type spécifié ou une superclasse.
//t1要么是Test5,要么是Test5的父类 public void testB(Test1<? super Test5> t1) { //子类代替父类 Test2 value = (Test2) t1.getValue(); System.out.println(value.getT()); }
Remarque sur l'utilisation des caractères génériques
La forme des caractères génériques et les paramètres de type sont souvent utilisés ensemble.
La forme des paramètres de type peut remplacer les caractères génériques.
Les personnes qui peuvent utiliser des caractères génériques devraient utiliser des caractères génériques, car les caractères génériques ont tendance à être de forme plus simple et plus lisibles.
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!