Maison > Questions et réponses > le corps du texte
Cela signifie-t-il que le type renvoyé peut être <T>
大家讲道理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;
}
}
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