bonjour,
J'utilise actuellement le FAQ sur les collections:
http://java.developpez.com/faq/java/...angage_donnees
Je ne saisi pas à 100% la notion de polymorphisme qui me permet de déclarer List maListe=new LinkedList() et non LinkedListmaListe=new LinkedList(). J'aimerai donc votre point de vue sur mon pb ainsi que mon interprétation.
Le problème est que dans le code ci-dessous, si je fais cela, je ne peut accéder aux méthodes propres de LinkedList: getFirst et getLast.
Donc j'aimerai comprendre si le comportement est normal. Pour accéder au méthodes de LinkedList je dois écrire: LinkedList maListe=new LinkedList().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 List maListe=new LinkedList() ; // on crée notre liste chaînée maListe.add(new Integer(1)) ; // on ajoute l'entier 1 à la liste maListe.add(new Float(2.15)) ; // on ajoute le flottant 2.15 à la liste /* On remarque ici que l'entier 1 est la tête de la liste, et que le flottant * est la queue de la liste. */ System.out.println("first: "+maListe.getFirst()+" Last: "+maListe.getLast());
Le polymorphisme nous permet de faire List maListe=new LinkedList() car LinkedListest est une List. Mais le type effectif de maListe devrait tout de même être LinkedList non?Donc on devrait accéder à ces méthodes propres?
Merci pour vos futures réponses.
Cordialement
Cyril
Partager