> ...exact mais via un tableau associatif si :)...

Oui, c'est m�me le r�le d'une Hashtable. Mais dans ce cas la on stocke
l'objet et non sa clef de hachage.
La clef ne sert qu'a des optimisations de recherche.
J'ai souvent fait ce genre de cache.
Il est conseiller de l'associer � java.lang.ref.SoftReference afin d'�viter
que la pr�sence de l'objet dans la hashtable bloque sa r�cup�ration par le
ramasse miette.

> il serait bon de veiller � obtenir une m�thode hashCode() assurant une
> bijection entre code et chaine..

Non, le hashCode est une optimisation, pas un identifiant.
Ensuite, il y a de plus en plus de solution pour avoir des objets qui ne
sont instanci� qu'� la demande et qui disparaissent apr�s leur utilisation
(JDO, EJB,...).
Dans ce cas le "m�me" objet peut avoir des adresses diff�rentes en m�moire
au cours du temps.

Il faudrait conna�tre plus pr�cis�ment le probl�me de d�part pour trouver
une solution.
Il est sur que le hashcode ne le permet pas.

Cordialement,

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
T�l. 01 41 96 96 76
Fax 01 41 96 96 77
M�l  [EMAIL PROTECTED] 
 

-----Message d'origine-----
De : jerome moliere [mailto:[EMAIL PROTECTED]]
Envoy� : jeudi 23 janvier 2003 13:00
� : [EMAIL PROTECTED]
Objet : Re: Acceder a un Objet a partir de son hashCode


>
>
> Cela dit, la r�ponse est non, il n'y a pas de moyen en Java de retrouver
le
>handle d'un objet � partir de son hashcode d'object, surtout qu'avoir des
>hashcodes distincts par objet est juste une recommandation, les JVM font
>finalement comme elles veulent. Sinon, il y a diff�rent moyen de tracer des
>objets sans avoir � utiliser ce type de trick, et �a m'�tonnerait qu'il n'y
>ait pas une Creational Design Pattern qui fasse pr�cis�ment �a.
>  
>
exact mais via un tableau associatif si :)( impl�mentation d'une Map ou 
HashTable) mais effectivement il serait bon de veiller
� obtenir une m�thode hashCode() assurant une  bijection entre code et 
chaine..je ne sais pas si c'est trivial a faire (etant donne la 
limitation a 32 bits en renvoyant un int)
autrement bonjour les r�sultats des recherches....
voili voilou....

>  
>
>>"override" en fran�ais? Je n'ai pas appris java en fran�ais, 
>>"surcharger" ce n'est pas �a...), pas moyen. 
>>
redefinir :)

Jerome

Répondre à