> Je crois que la question de Christian porte plut�t sur le fait que la
> valeur renvoy�e par "Object" comme hashcode est toujours unique

Ce n'est pas vrai. Il est propos� que l'impl�mentation puisse utiliser
l'adresse interne comme hashcode mais cela n'est pas obligatoire. Cela
d�pend donc du JRE utilis�.

As much as is reasonably practical, the hashCode method defined by class
Object does return distinct integers for distinct objects. (This is
typically implemented by converting the internal address of the object into
an integer, but this implementation technique is not required by the JavaTM
programming language.) 

De plus les classes du JDK ne v�rifient pas ton assertion.
Par exemple Long renvoie un "ou" entre les 32 bits de gauche et les 32 bits
de droite.
return (int)(value ^ (value >> 32));

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 : rodrigo reyes [mailto:[EMAIL PROTECTED]]
Envoy� : jeudi 23 janvier 2003 12:12
� : '[EMAIL PROTECTED]'
Objet : RE: Acceder a un Objet a partir de son hashCode


Yo,

 Je crois que la question de Christian porte plut�t sur le fait que la
valeur renvoy�e par "Object" comme hashcode est toujours unique (deux objets
diff�rents ont toujours un hashcode d'Object diff�rent), ce qui n'est bien
s�r pas le cas quand on override 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.

Rodrigo

> -----Message d'origine-----
> De : Erik Mazoyer [mailto:[EMAIL PROTECTED]]
> Envoy� : jeudi 23 janvier 2003 12:05
> � : [EMAIL PROTECTED]
> Objet : RE: Acceder a un Objet a partir de son hashCode
> 
> 
> Un hashcode n'est pas un identifiant.
> Deux objets diff�rents peuvent avoir le m�me hashcode.
> Une classe d'objet retournant toujours 1 comme hascode de ces 
> objets est
> valide (pas intelligente pour un sou mais valide).
> 
> La seule chose que doit v�rifier le hashcode c'est que deux 
> objets �gaux
> doivent avoir obligatoirement le m�me hashcode.
> Cela permet des optimisations car il est souvent beaucoup 
> plus rapide de
> comparer deux hashcode (int) que deux objets.
> 
> -----Message d'origine-----
> De : Christian Mercat [mailto:[EMAIL PROTECTED]]
> Envoy� : jeudi 23 janvier 2003 11:37
> � : [EMAIL PROTECTED]
> Objet : Acceder a un Objet a partir de son hashCode
> 
> 
>               Bonjour tt le monde,
> 
>       Je voudrai savoir si le hashCode par d�faut d'un Object 
> peut-�tre
> utilis� 
> pour y acc�der?
>       Je comprends que si la m�thode hashCode est r��crite 
> (comment on dit
> 
> "override" en fran�ais? Je n'ai pas appris java en fran�ais, 
> "surcharger" ce n'est pas �a...), pas moyen. Mais avec le 
> hashCode par 
> d�faut, est-ce qu'il y a moyen?
> 
>       Merci,
> 
>               Christian Mercat
> 

Répondre à