61 votes

Existe-t-il un moyen de faire référence au type actuel avec une variable de type ?

Supposons que j’essaie d’écrire une fonction pour renvoyer une instance du type actuel. Y a-t-il un moyen de faire référence au sous-type exact (donc devrait se référer à en ```` classe)?

10voto

StriplingWarrior Points 56276

Vous devriez pouvoir le faire à l’aide du style de définition générique récursif que Java utilise pour les énumérations :

4voto

Tomasz Mularczyk Points 12030

Je n’ai peut-être pas bien compris la question, mais n’est-il pas suffisant de faire ceci (avis de casting à T):

alors les sous-classes n’auront pas à utiliser la substitution ou la covariance des types pour que les méthodes de classe mère leur renvoient une référence...

3voto

dm3 Points 1121

Il suffit d’écrire:

en supposant que vous utilisez Java 1.5+(types de retour covariant).

3voto

jpalecek Points 31928

Si vous voulez quelque chose de similaire à Scala

alors non, ce n’est pas possible en Java. Vous devez également noter qu’il n’y a pas grand-chose que vous pouvez retourner à partir d’une fonction typée de manière similaire dans Scala, à part `` .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X