Je voudrais utiliser une méthode pour deux types et j'ai essayé comme ceci:Comment utiliser le paramètre de fonction générique
private <T extends Base> boolean isNeeded(String name, T receivedItem) {
Base item = null;
if (receivedRequest.getClass().equals(Derived1.class)) {
item = (Derived1) receivedItem;
} else if (request.getClass().equals(Derived2.class)) {
item = (Derived2) receivedItem;
}
callMethodDoSomething(item.getData().getSpecificData());
}
Mais je ne sais pas comment appeler une méthode qui est seulement dans les classes dérivées. Quelle est la meilleure et la plus sûre façon de le faire?
Il est assez difficile de comprendre quel est le problème réel est ... Il serait rend les choses meilleures si vous fournissez le code qui appelle réellement les méthodes de classe enfant (classes) et échoue à compiler. Ces appels sont-ils censés se trouver dans chaque bloc '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' Est-ce que le '' 'callMethodDoSomething''' est un traitement commun que l'élément recevrait indépendamment du fait qu'il étend' '' '' Derived1'' ou '' 'Derived2''' –
Aussi les deux lancent' '' (Derived?) '' 'sont un peu inutiles. –