Tu ne pourras pas à cause du type erasure des generics, parce qu'une fois compilé, methode n'aura comme signature que public void methode(Arraylist,...) et que 2 fonctions ne peuvent avoir la même signature.
Il faut soit employer une fonction différente, soit utiliser un type plutôt que des generics.
Si tu as besoin de la méthode getId des objets dans ta méthode, une solution est de créer une interface avec la méthode getId et d'ajouter cette interface à tes classes Object1 et Object2.
public interface Identifiable {
int getId();
}
public class Object1 implements Identifiable {
// ...
}
public class Object2 implements Identifiable {
// ...
}
Tu pourras ainsi faire une méthode qui accepte des listes d'objets Identifiable qui fonctionnera avec des listes contenant des Objet1 et/ou des Objet2.
En passant, il est préférable d'utiliser les interfaces pour les types de variables et paramètres, plutôt que les types concrets (quand c'est possible).
Concrètement, pour les listes, il vaut mieux utiliser l'interface List pour le type de tes variables/paramètres.
// Variable
List<Identifiable> maListe = new ArrayList<>();
// Paramètre
public void methode(List<Identifiable> maListe, ...)
Ca rendra ton code plus adaptable et flexible car il fonctionnera avec tous les types qui implémentent l'interface List (ArrayList, LinkedList, etc).
Son problème si j'ai bien compris c'est qu'il veut utiliser des méthodes en plus de getId qui ne sont pas communes aux 2 classes et utiliser le polymorphisme paramétrique pour avoir accès à ces méthodes avec un nom de fonction unique.
Mais le polymorphisme paramétrique ne fonctionne pas en java si la seule différence entre les 2 fonctions est le type du generic, à cause du erasure type qui rend la signature identique.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl