Maison  >  Questions et réponses  >  le corps du texte

Quelle est la différence entre <T> T et T en Java ?

Pourquoi une erreur est-elle signalée ? N'est-ce pas d'abord le type T ? Et <T> Quelle est la différence entre T et T ?

伊谢尔伦伊谢尔伦2712 Il y a quelques jours682

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-05-17 10:09:21

    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. 🎜

    répondre
    0
  • P粉504247697

    Bonjour professeur, je voudrais demander pourquoi A ne doit pas être la même lettre que T ? Je l'ai essayé et il fonctionne.

    P粉504247697 · 2022-08-30 01:01:47
  • 阿神

    阿神2017-05-17 10:09:21

    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.

    répondre
    0
  • Annulerrépondre