Maison  >  Article  >  Java  >  Comment spécifier les paramètres de type des méthodes génériques ?

Comment spécifier les paramètres de type des méthodes génériques ?

PHPz
PHPzoriginal
2024-05-03 11:54:02723parcourir

Les méthodes génériques utilisent des paramètres de type pour spécifier les types de données sur lesquels des opérations peuvent être effectuées. La syntaxe des paramètres de type est , qui peut être spécifiée en spécifiant explicitement le type ou en utilisant des caractères génériques, tels que : ? T (limite supérieure) et ? super T (limite inférieure). Les caractères génériques spécifient la portée d'un paramètre de type, par exemple, ? extends T signifie que le paramètre de type doit être de type T ou une sous-classe de celui-ci.

Comment spécifier les paramètres de type des méthodes génériques ?

Spécification des paramètres de type de méthode générique

En Java, les méthodes génériques permettent aux développeurs de créer des méthodes qui fonctionnent sur plusieurs types. Lors de la définition d'une méthode générique, nous devons spécifier les paramètres de type. Les paramètres de type déterminent le type de données sur lequel une méthode peut fonctionner.

Syntaxe des paramètres de type

Les paramètres de type sont spécifiés entre crochets  :

<T> void myMethod(T value) {
    // 代码主体
}

Dans cet exemple, <t></t> est un paramètre de type, ce qui indique que la méthode peut opérer sur n’importe quel type d’objet. <t></t> 是类型参数,它表示方法可以操作任何类型的对象。

指定类型参数

类型参数可以通过明确指定类型来指定:

<String> void myMethod(String value) {
    // 操作 String 类型的数据
}

也可以使用通配符来指定类型参数:

  • ?:无界通配符,表示类型参数可以是任何类型。
  • ? extends T:上界通配符,表示类型参数必须是 T 类型或其子类。
  • ? super T:下界通配符,表示类型参数必须是 T 类型或其超类。

实战案例

假设我们有一个 List,其中包含各种类型的对象。我们想编写一个方法来打印列表中的每个元素:

import java.util.List;

public class Example {

    public static void main(String[] args) {
        List<Object> myList = List.of("Hello", 10, true);
        printElements(myList);
    }

    public static <T> void printElements(List<T> list) {
        for (T element : list) {
            System.out.println(element);
        }
    }
}

在这个例子中,printElements 方法是泛型的,它使用类型参数 T

🎜Spécifier les paramètres de type🎜🎜🎜Les paramètres de type peuvent être spécifiés en spécifiant explicitement le type : 🎜rrreee🎜Vous pouvez également utiliser des caractères génériques pour spécifier les paramètres de type : 🎜
  • ? : illimité caractère générique, indique que les paramètres de type peuvent être de n'importe quel type.
  • ? extends T : caractère générique de limite supérieure, indiquant que le paramètre de type doit être de type T ou de sa sous-classe.
  • ? super T : caractère générique de limite inférieure, indiquant que le paramètre de type doit être de type T ou de sa superclasse.
🎜🎜Cas pratique🎜🎜🎜Supposons que nous ayons une Liste qui contient différents types d'objets. Nous voulons écrire une méthode qui imprime chaque élément de la liste : 🎜rrreee🎜Dans cet exemple, la méthode printElements est générique et prend le paramètre de type T. Par conséquent, il peut imprimer n’importe quel type de données dans la liste. 🎜

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