Generics... moi pas comprendre qqch
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...
Code:
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
}
} |
Pourquoi il y a une erreur de compilation à la ligne indiquée?
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 ?