50 votes

Java- La signification de <T extends=""></T> <T>>?</T>

Le contexte complet étant :

Aurais-je raison de dire que l’énoncé dans le titre signifie que les arguments branchés sur la méthode doivent être soit un objet d’une classe qui implémente Comparable OU l’une de ses classes dérivées ?

Merci.

48voto

Andy Thomas Points 30979

Cela signifie que le paramètre type doit prendre en charge la comparaison avec d’autres instances de son propre type, via l’interface Comparable.

Un exemple d’une telle classe est fourni dans le didacticiel Oracle Object Ordering. Notez le schéma similaire à `` celui de l’extrait ci-dessous :

7voto

jforberg Points 1089

Quelque part dans cette classe, le programmeur doit écrire quelque chose comme

Pour que cela fonctionne, le type T doit avoir une méthode compareTo qui le compare à un autre objet de type T. L’extension de Comparable garantit l’existence d’une telle méthode, entre autres.

3voto

djhaskin987 Points 2620

Cela signifie que vous ne pouvez créer une instance de qu’avec un type qui s’étend littéralement . Ainsi

est acceptable, puisque s’étend , tandis que

n’est pas, puisque `` n’est pas une classe qui s’étend du tout comparable.

2voto

Luchian Grigore Points 136646

Oui, et gardez à l’esprit que les objets de classes **dérivés** d’objets ARE. L’héritage est une `` relation.

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