Bonjour,
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 void f (List<? extends Figure> liste){ //Autorisé Figure ret = liste.get(0); // Interdit par le compilateur Cercle ret = liste.get(0); }
Cette méthode prend en paramètre une liste qui contient des éléments dont le type(inconnu) peut être un sous type de Figure ou peut être de type Figure.
Or, Cercle est un sous type de Figure, alors pourquoi :
Code:Cercle ret = liste.get(0);
est interdit par le compilateur ?