A volte si potrebbe desiderare di creare un insieme di oggetti distinguibili. Alcuni di questi oggetti potrebbero essere uguali a l'uno con l'altro, ma è comunque necessario fare riferimento a tutti loro ... solo buttare via riferimenti realmente duplicati. Si potrebbe farlo perché l'implementazione equals
non è quello che ti interessa (alcune classi sostituiscono equals
quando davvero non si vuole loro di) o perché si sta effettivamente cercando di contare istanze separate ecc
Per farlo in modo efficiente (ovvero supportato da una tabella hash di qualche tipo), si desidera un codice hash basato sull'identità piuttosto che sull'uguaglianza - che è esattamente ciò che fornisce identityHashCode
. È raramente utile, ma a volte può essere utile.
fonte
2013-06-14 17:47:37
Uhm, buona domanda ... A proposito, entrambi i metodi restituiscono un int, non un lungo – fge