Dans Generics FAQ: Best Practices dit:
Le compilateur vous permet de convertir explicitement des paramètres de type génériques dans n’importe quelle interface, mais pas dans une classe :
Je considère que la limitation est raisonnable pour les classes et les interfaces, sauf si la classe/interface n’est pas spécifiée comme type de contrainte.
Alors pourquoi un tel comportement, pourquoi est-il autorisé pour les interfaces ?