HashMap
Résolu
velocity
Messages postés
204
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
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
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
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...