В чем разница между ссылкой объекта и значением хэш-кода того же объекта в java?Разница между ссылкой объекта и хеш-кодом объекта
ответ
Это совершенно разные концепции.
Cat oldCat = new Cat();
Cat newCat = new Cat();
Cat oldCatRef = oldCat;
В приведенном выше примере, oldCat
и oldCatRef
ссылки на тот же объект. Поскольку они относятся к одному и тому же объекту, их хэш-коды будут равны.
Но oldCat
и newCat
не относятся к одному и тому же объекту. Это ссылки на два разных объекта. Но они могут иметь одинаковые hashCode
на основе их реализации. hashCode
- это просто метод в классе Object
, который вы можете переопределить.
РЕДАКТИРОВАТЬ (от PeterJ): В соответствии со спецификацией JavaSE6 объекта, если oldCat.equals (newCat), то хэш-код из двух должны быть равны. Это хорошо программирования подчиняться этим договором
Вы, вероятно, хотите, чтобы проверить ответы на этот вопрос, а также:
difference between hash code and reference or address of an object?
Ссылка на объект - это просто. Ссылка на объект.
Хэш-код объекта является результатом метода hashCode()
, который в зависимости от реализации может быть различным. По умолчанию hashCode()
:
обычно реализуется путем преобразования внутреннего адреса объекта в целое число, но этот метод реализации не требуется языком программирования JavaTM
В 64-битных JVM-ссылках, как правило, используются 8-байтовые, hashCode() - всего 32 бита. –
два разных объекта могут иметь такую же hashCode
, A reference
- уникальный указатель на объект, где hashCode
- удобный вычисляемый атрибут.
- 1. разница между хеш-кодом и ссылкой или адресом объекта?
- 2. В чем разница между объектом и ссылкой?
- 3. Разница между указателем (*) И ссылкой (&)
- 4. Разница между полем объекта объекта класса и данных_класса
- 5. Разница между ссылкой на переменную и именем
- 6. Разница между созданием объекта и активацией класса
- 7. Разница между равенством и равенством объекта
- 8. Разница между ArrayList и массивом объекта
- 9. Разница между «этим» и именем объекта
- 10. Разница между ссылочным типом и типом объекта?
- 11. Разница между медиа и узлом объекта? (Umbraco)
- 12. Разница между свойством объекта и свойством типа
- 13. Разница между фрагментом класса и фрагментом объекта
- 14. Разница между кешированием объекта и хэш-картой
- 15. Разница между созданием данных и созданием объекта
- 16. разница между присвоением объекта неопределенным и удалить
- 17. Разница между ссылкой Facebook и источником?
- 18. Разница между ссылкой и postLink в cakephp
- 19. Разница между ссылкой метода и лямбдой
- 20. Разница между ссылкой, шаблоном и пакетом NuGet?
- 21. Разница между ссылкой и функцией связи
- 22. docker-compose: разница между сетью и ссылкой
- 23. Разница между передаваемыми значениями и ссылкой
- 24. В чем разница между ссылкой и указателем?
- 25. Разница между веб-ссылкой и ссылкой на обслуживание?
- 26. Разница между ссылкой rvalue и ссылкой lvalue как аргументом
- 27. В чем разница между ссылкой и ссылкой без ссылки?
- 28. В чем разница между веб-ссылкой и ссылкой на службу?
- 29. Есть ли разница между ссылкой и ссылкой lvalue?
- 30. разница между символьной ссылкой и твердой ссылкой в perl
[разница между хеш-кодом и ссылкой или адрес объекта? ] (http://stackoverflow.com/questions/3700595/difference-between-hash-code-and-reference-or-address-of-an-object) - это то же самое, хотя первоначально его запрашивали Java ME , –