Le Jeudi 3 Octobre 2002 15:10, CATHALA Laurent a �crit : > Bonjour � tous, > > Je stocke un objet en tant que cl� dans une hashMap, cet objet repr�sente > un objet recup�r� d'une basse de donn�e. > Si je recupere a nouveau le m�me objet de la base, l'objet java repr�sent� > est different du pr�cedent ... > Donc je ne peux pas utiliser les methodes containsKey(),etc de ma hashMap. > Je surcharge donc la methode equals de mon objet, mais il me reste le > probleme du hashCode :o( >
Je ne comprends pas tr�s bien ce que tu veux faire ; il est tout � fait d�conseill� d'utiliser des objets variables en tant que clef ; il vaux mieux utiliser des objets "immuables" - imutables en anglais - comme des String, des URL, etc. Si tu utilises des objets variables, cela marche tout de m�me 9 fois sur 10, car le hashcode renvoit par d�faut une sorte de position en m�moire de l'objet, qui ne varie pas si tu fais simplement varier les param�tres internes. Par contre si tu changes compl�tement d'objet, il est �vident que le hashcode sera modifi� 9 fois sur 10. Mais pourquoi veux-tu changer d'objet c'est pour obtenir le m�me en valeur ? Je sais pas si tu comprends pourquoi je ne te comprends pas ... > Je me demande si il est judicieux de surcharger la methode hashCode ? Si > oui comment, sachant que j'ai de nombreux objets differents dans mon modele > et que je ne veux pas perdre les benefices de recherche de la hashMap ! > Il peut �tre judicieux de surcharger la m�thode hashcode (voir les explications de guillaume), mais dans ton cas je ne comprends pas ce que tu souhaite faire. -- SARL diaam informatique - 04 50 77 12 60 Ingenierie, d�veloppements de syst�mes d'information http://www.diaam-informatique.com
