Java: Хаш-функция для объектов

Я думаю о хеш-функции для произвольных Java-объектов для упражнений. Наивный путь будет позвонить в HashCode () - функцию для каждого атрибута, добавьте эти хэши, а затем пройти сумму модуль максимальное значение HASH или что-то в этом роде. Однако это будет означать, что значение HASH будет изменяться всякий раз, когда его изменится на атрибутах, поэтому этот метод не может быть использован, если вы хотите хранить объекты в хэш-таблице. Хэш-код объекта должен представлять его идентичность. Но как я могу выразить эту абстрактную идентичность в качестве целочисленного значения? Возможно, используя адрес объекта (предположим, Java не перемещает объекты в памяти во время выполнения), но есть ли путь в Java, чтобы получить адрес объекта?

Как бы вы реализовали такую ​​хеш-функцию?

Заранее спасибо.

5
задан j0ker 14 September 2011 в 21:07
поделиться