Je me demandais s'il est possible d'avoir quelque chose comme ceci: afin que vous puissiez appeler la classe comme p> avec Objet 0, 1 et 2 types différents, comme entier, flotteur, chaîne et ainsi de suite. Est-ce possible ou devrais-je écrire une classe pour chaque longueur de types génériques? Si cela serait possible, comment alliez-vous gérer les différents types? P> p>
3 Réponses :
Une classe générique est définie avec le format suivant:
class name<T1, T2, ..., Tn> { /* ... */ }
Non, vous ne pouvez pas avoir ça. Le meilleur que vous puissiez faire est Vous pouvez également spécifier que t doit mettre en œuvre plusieurs interfaces. p>
La syntaxe Malheureusement, la syntaxe La classe publique FOO integer code> et float code> Vous pouvez définir class public FOO Classe publique FOO & code> Signification et code>. p>
Classe publique FOO | code> signifie ou code> n'est pas possible. P>
Pourquoi auriez-vous besoin de cela? Ou c'est juste la curiosité?
@pivovarit pour un
TUPLE code> Tapez par exemple, ou pour untype appelable code> avec signature réglable.@pivovarit L'exemple évident que je peux penser serait des classes de type générique. Cela dit non pas possible, Scala, par exemple, a des versions d'une telle classe pour un maximum de 15 arguments. Pitié oui
Pour résoudre des problèmes nécessitant une telle conception de type, dans Java, vous devez vous détourer à travers l'API de réflexion (passer des objets code> code> autour).