Méthodes génériques Java:
Je ne dirai pas grand-chose sur ce que les génériques signifient, et la définition des classes génériques en Java est également relativement simple, par exemple: test de classe publique <T> {}. Cela définit un test de classe générique. Lors de l'instanciation de cette classe, vous devez spécifier le type spécifique de T générique, par exemple: test <objet> t = nouveau test <objet> ();, indiquant que le type de T générique est un objet.
Mais les méthodes génériques en Java sont plus compliquées.
Une classe générique indique le type spécifique d'un générique lors de l'instanciation d'une classe; Une méthode générique indique le type spécifique d'un générique lors de l'appel d'une méthode.
Le format de syntaxe pour définir une méthode générique est le suivant:
Le format de syntaxe de l'appel d'une méthode générique est le suivant:
Pour expliquer, lors de la définition d'une méthode générique, vous devez ajouter un <T> à la valeur de retour pour déclarer qu'il s'agit d'une méthode générique, maintenant un T générique, puis vous pouvez utiliser le T générique comme valeur de retour de la méthode.
La fonction de la classe <T> est d'indiquer le type spécifique d'un type générique, et la variable C du type de classe <T> peut être utilisée pour créer des objets d'une classe générique.
Pourquoi utiliser la variable C pour créer un objet? Puisqu'il s'agit d'une méthode générique, cela signifie que nous ne savons pas quel est le type spécifique ni quelle est la méthode du constructeur. Par conséquent, il n'y a aucun moyen de nouveau un objet, mais nous pouvons utiliser la méthode NewInstance de la variable C pour créer un objet, c'est-à-dire utiliser la réflexion pour créer un objet.
Les paramètres requis par une méthode générique sont de type classe <t>, et la valeur de retour de la méthode class.forname () est également class <t>, donc class.forname () peut être utilisée comme paramètre. Parmi eux, quel type est le paramètre de la méthode forname () et quel type est la classe retournée <T>. Dans cet exemple, la méthode forname () est transmise dans le chemin complet de la classe utilisateur, de sorte que l'objet de la classe de type <utilisateur> est renvoyé. Par conséquent, lors de l'appel de la méthode générique, le type de variable C est la classe <servy>, donc le T générique dans la méthode générique est indiqué comme utilisateur, donc le type d'OBJ variable est l'utilisateur.
Bien sûr, les méthodes génériques peuvent non seulement avoir une classe de paramètres <T>, mais d'autres paramètres peuvent être ajoutés au besoin.
Pourquoi utiliser des méthodes génériques? Parce que les classes génériques doivent indiquer le type lorsqu'ils sont instanciés, si vous voulez changer un type, vous devez le renouveler, ce qui peut ne pas être suffisamment flexible; tandis que les méthodes génériques peuvent indiquer le type lorsqu'il est appelé, ce qui est plus flexible.
Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!