recherche

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

java - public <T> T findOne (enregistrement T) qu'est-ce que cela signifie

Cela signifie-t-il que le type renvoyé peut être <T>

女神的闺蜜爱上我女神的闺蜜爱上我2703 Il y a quelques jours1023

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

  • 大家讲道理

    大家讲道理2017-07-03 11:45:17

    La réponse ci-dessus a été très professionnelle... Je vais y répondre de manière vernaculaire, haha
    Par exemple, quand je vois une méthode, elle peut ressembler à ceci

    public BigCar find(Long carId)

    Le prérequis pour que cette méthode compile sans problèmeBigCar是一个已存在的类嘛,想表述根据一个车的id查询大车BigCar

    À ce moment-là, vous souhaitez également écrire une voitureSmallCar的查询方法,估计就应该先创建一个SmallCar, puis écrire une méthode de requête

    public SmallCar find(Long carId)

    Pas de problème, pour le moment, si vous souhaitez écrire une méthode de requête basée sur l'identification s'il s'agit d'une grosse voiture ou d'une petite voiture, la façon de l'écrire est

    public XXX find(Long carId)

    Alors le compilateur sera certainement inquiet. C'est quoi ton XXX, une telle classe n'existe pas
    Frappez au tableau ! ! ! Voilà le point
    Il y a une grammaire à ce moment-là. Si vous voulez exprimer cette XXX只是一个代指,但是具体是啥不知道,那就用<> représentation, vous pouvez y écrire n référents, séparés par des virgules, cela devient donc

    .
    public <XXX> XXX find(Long carId)

    Donc, <> représente simplement un définisseur, qui définit un tas de variables pour une utilisation ultérieure, si vous la définissez dans une méthode, alors le champ d'application de cette variable est dans cette méthode. Ensuite cette variable peut être utilisée dans toute la classe, par exemple :

    public class Car<X, XX>{
        X x;
        XX xx;
        Long id;
    
        public X findX(){
            return x;
        }
    }

    répondre
    0
  • typecho

    typecho2017-07-03 11:45:17

    La façon d'écrire des méthodes génériques en Java, la syntaxe le stipule
    Le type de retour est T
    <T> indique qu'il s'agit d'une méthode générique (je suppose que c'est lié à la compilation, après tout, les génériques Java sont en mode effacement

    répondre
    0
  • Annulerrépondre