Je ne comprends pas. En java je suis autorisé à déclarer une interface comme un type de retour d'une méthode, comme:Pourquoi ce type de retour générique d'une méthode n'est pas valide
public List<String> get(){
return new ArrayList<String>();
}
si j'ai maintenant une interface permet de dire I
et une classe C
mise en œuvre, pourquoi je ne suis pas autorisé à définir comme ceci:
public List<I> get(){
return new ArrayList<C>();
}
Je sais que la solution pour créer un ArrayList<I>
et ajouter à C
, mais je me demande pourquoi je ne suis pas autorisé à le déclarer comme celle-ci. Je pensais que chaque C
est également un I
mais il ne devrait pas y avoir de problème.
me battre à elle! 1+ –