Vive les génériques

Sebastien Cesbron <[email protected]> Thu, 31 Mar 2011 15:30:32 +0200
Newsgroups gmane.comp.java.french.general
Message-ID <[email protected]>
Salut

J'essaie de faire un truc tout bête avec les génériques mais vu que je n'en
ai pas fait depuis un moment je n'y arrive pas.

public class MaCollection<E> extends ArrayList<E> {
    public void compare(MaCollection<E> autreColl) {
    }
}

public class LaVraieCollection extends MaCollection<String> {
    @Override
    public void compare(LaVraieCollection autreColl) {
    }
}

Ce code ne fonctionne pas car dans la classe fille le compilateur veut que
je mette "compare(MaCollection<String>)" le problème c'est que dans ce cas
je ne peux utiliser les méthodes de LaVraieCollection.

J'ai essayé de modifier la classe mère en mettant

  public <C extends MaCollection<E>> void compare(C autreColl) {
  }

mais même punition, il refuse mon override.

Est-ce que quelqu'un a un truc pour faire ce que je veux faire ?

Merci
Seb