Sur cette page, dans "les méthodes génériques":
http://lroux.developpez.com/article/...ge_5#Lgenerics
Il y a quelque chose que je ne comprends pas...
Pourquoi il y a une erreur de compilation à la ligne indiquée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 static void addResidents(List<? extends Resident> newComers, List<Resident> residents) { for(Resident n: newComers) { residents.add(n); // erreur de compilation } }
Pour chaque (? extends résident) de la liste newComers, donc qui est d'un type inconnu, mais dont on sait qu'il hérite de Resident, on veut l'ajouter dans la liste des résidents, paramétrée par le type Resident.
Donc où est le problème... Il attend un Resident, on lui ajoute quelque chose qui étend résident...
C'est comme si on paramétrait par un Object, et qu'on lui mettait une String...
Ca ne devrait pas poser de problèmes...
Pouvez-vous m'éclaircir ?
Partager