Bonjour,

Je suis entrain de préparer la certif ocjp, je suis tombé sur un cas qui m'intrigue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
List<? extends Object> liste=new ArrayList<Integer>();
c'est une liste qui peut prendre n'importe quel objet,et donc le
new ArrayList<Integer>() est correct.

et ceci ne marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Integer obj=new Integer(4);
liste.add(obj);
Voici ce qui est écrit dans le bouquin de Catyhy Siera:
List<Object> refers only to a List<Object>, while List<?> or
List<? extends Object> can hold any type of object, but for access only.
et je comprends donc que je ne peux pas faire de add(...) à ma liste
et dans ce cas,comment peut on alimenter la liste?!!!

J'espère avoir été clair, et merci pour votre aide



Cordialement