Bonjour,

j'ai un souci de compréhension concernant les wildcards (?) et la généricité pour les collections. Je comprends bien l'utilisation du wilcard dans le cas de figure où on veut utiliser le polymorphisme pour une méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public void fonctionBidule(List<? extends Chose> list){
   ...
}
Par contre, je ne vois pas l'intérêt d'utiliser le wildcard pour l'initialisation ou la déclaration d'une Collection ?

Quelle est la différence par exemple entre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
List<? extends Chose> list = new ArrayList<Chose>();
et :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
List<Chose> list = new ArrayList<Chose>();
Sachant que, à moins que je me trompe, dans les 2 cas de figure, on peut ajouter aux ArrayList des références à des classes ou sous classes de Chose ?

Merci de m'aider à comprendre