Je suis curieux de comprendre pourquoi testInnerClass ne parvient pas à se compiler, citant des types incompatibles: l'objet ne peut pas être converti en String. test de colis; import java.util.List; classe Test

5
Jota 14 mars 2021 à 18:19

1 réponse

Meilleure réponse

InnerClass est une classe interne de Test qui attend des paramètres génériques. Vous devez donc mettre à jour la déclaration de classe comme suit:

class Test<
        I extends Test<I,S,O>.InnerClass,
        S extends Test.StaticInnerClass,
        O extends OtherClass>

Le StaticInnerClass, même si à l'intérieur de Test, il est déclaré static. Ainsi, comme chaque static méthode ou variable, la classe static ne dépend état de la classe. Il n'est donc pas nécessaire d'avoir S extends Test<I,S,O>.StaticInnerClass

3
Gautham M 14 mars 2021 à 16:36