Si vous souhaitez que le type de valeur de retour de la méthode getMax soit T, vous devez définir la méthode getMax comme ceci : getMax 方法的返回值类型为 T,就要这样去定义getMax方法:
public T getMax()
如果你希望 getMax 方法返回值的类型由调用者决定,那么就这么去定义 getMax
public <A> A getMax() {
//...
return (A)result;
}
Si vous souhaitez que le type de valeur de retour de la méthode getMax soit déterminé par l'appelant, alors définissez la méthode getMax comme ceci :
rrreee
Le A ici ne doit pas être la même lettre que le T déclaré dans le nom de la classe.
En bref, le T et le <T> que vous avez mentionnés sont fondamentalement deux utilisations différentes. 🎜
Vous devez supprimer le deuxième <T>. <T> consiste à définir un T générique et à utiliser un générique Vous devez comprendre les classes génériques et les méthodes génériques#🎜🎜 #
Les raisons pour lesquelles <T> sur la classe et <T> sur la méthode ne doivent pas apparaître de manière répétée, sinon on considérera que le type générique a été redéfini sur la méthode.
Si vous souhaitez que le type de valeur de retour de la méthode
getMax
soit T, vous devez définir la méthodegetMax
comme ceci :getMax
方法的返回值类型为 T,就要这样去定义getMax
方法:如果你希望 getMax 方法返回值的类型由调用者决定,那么就这么去定义
Si vous souhaitez que le type de valeur de retour de la méthode getMax soit déterminé par l'appelant, alors définissez la méthodegetMax
getMax
comme ceci :rrreee
Le A ici ne doit pas être la même lettre que le T déclaré dans le nom de la classe.Vous devez supprimer le deuxième <T>.
Les raisons pour lesquelles <T> sur la classe et <T> sur la méthode ne doivent pas apparaître de manière répétée, sinon on considérera que le type générique a été redéfini sur la méthode.<T> consiste à définir un T générique et à utiliser un générique
Vous devez comprendre les classes génériques et les méthodes génériques#🎜🎜 #