HashMap
Résolu
velocity
Messages postés
251
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
J'ai besoin d'aide en java,
j'ai deux classe deux classe qui herite de la meme super classe:
class A extends C;
class B extends C;
je veux créer une HashMap qui contient des instance des classe A et B mais je ne sais pas comment faire .
j'ai essayer de faire HashMap liste = new HashMap<C,Cible>; mais ce ne marche pas lorsque je veut ajouter un objet A ou B;
comment je doit faire ?
merci d'avance pour votre aide
J'ai besoin d'aide en java,
j'ai deux classe deux classe qui herite de la meme super classe:
class A extends C;
class B extends C;
je veux créer une HashMap qui contient des instance des classe A et B mais je ne sais pas comment faire .
j'ai essayer de faire HashMap liste = new HashMap<C,Cible>; mais ce ne marche pas lorsque je veut ajouter un objet A ou B;
comment je doit faire ?
merci d'avance pour votre aide
1 réponse
Au niveau de la syntaxe il faut préciser les types des deux côtés :
Mais lorsque tu récupères un élément avec get(key), l'objet de retour sera du type de key, donc c'est les méthodes hashCode puis equals de l'objet key (donc de A ou de B) qui seront appelées. Il faut que tu les redéfinisse !
La confiance n'exclut pas le contrôle
HashMap<C,Cible> liste = new HashMap<C,Cible>();
Mais lorsque tu récupères un élément avec get(key), l'objet de retour sera du type de key, donc c'est les méthodes hashCode puis equals de l'objet key (donc de A ou de B) qui seront appelées. Il faut que tu les redéfinisse !
La confiance n'exclut pas le contrôle
KX
Messages postés
19031
Statut
Modérateur
3 020
Exemple de code, j'ai mis des affichages dans equals et hashCode pour bien voir si c'est celles de A, B ou C qui sont appelées...