J'ai défini une méthode dans une classe:Réflexion Java: Que contient ma collection?
public void setCollection(Collection<MyClass>);
et dans une autre classe
public void setCollection(Collection<OtherClass>);
(et vraiment, beaucoup de classes similaires)
Tous sont en cours avec le même superclasse, et j'ai une méthode dans une classe de support où je veux appeler cette méthode et la définir avec des éléments du type de classe correct. Maintenant, je peux obtenir que je mise une collection en faisant
Method setter = ...;
Class<?> paramClass = setter.getParameterTypes()[0]; // Is Collection in this case
if(paramClass.equals(Collection.class)) {
HashSet col = new HashSet();
// fill the set with something
setter.invoke(this, col);
}
Mais comment puis-je savoir quelle classe les objets de cette collection doivent appartenir?
Vive
Nik
Merci beaucoup, cela a résolu mon problème! La complexité ajoutée ici va réduire ma complexité globale, alors je prends mon chapeau pour vous et je vous remercie sincèrement. :-) – niklassaers