Bonjour, j'ai un soucis de polymorphisme. Ci-dessous un exemple simplifié de ma situation.
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public interface I { Integer getValue(); }
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class A implements I { public Integer getValue() {/*[...]*/} public static void f(List<I> l) { // [...] for (ListIterator<I> it = l.listIterator(); it.hasNext();) if (!it.next().getValue() > 1) it.remove(); } }
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public class B implements I { public Integer getValue() {/*[...]*/} }
Et dans mon main :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 List<B> l; A.f(l);method f in A cannot be applied to given types
required: java.util.List<I>
found: java.util.List<A>
C'est fâcheux ! Quelqu'un aurait-il une solution ? Merci de votre aide.
Partager