Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part Cercle ret = liste.get(0);
est interdit par le compilateur ?
Partager