Size: a a a

2021 January 26

DM

Dimm Mula in learn.java
Qwant
объект типа Класс А. его hashcode ссылается на ячейку памяти. значение 10001000

объект типа Класс Б. его hashcode ссылается на ячейку памяти. значение 10001001

Откуда у них одинаковый хешкод?
А причем тут ячейка памяти, если хешкод считается по сумме полей ?
источник

РМ

Роман Маринич... in learn.java
Qwant
Да, но в java в нативе есть неск вариант расчетов hashcode, штук 20 помойму и самый дефолтный помойму выдача значения из ячейки памяти его адресса
нативный варик же тока для примитивов работает?
источник

DC

Denis Chikanov in learn.java
Qwant
объект типа Класс А. его hashcode ссылается на ячейку памяти. значение 10001000

объект типа Класс Б. его hashcode ссылается на ячейку памяти. значение 10001001

Откуда у них одинаковый хешкод?
Не возвращает он никакую ячейку в памяти, это раз. Если у тебя хэшкод объекта может хоть где-то использоваться, его ВСЕГДА переопределяют, это два.
источник

Q

Qwant in learn.java
Роман Маринич
его же перепоередить можно
Ну а как вы переопределите, чтобы эти 2 разных объекта, выдали одинаковый хешкод?
источник

РМ

Роман Маринич... in learn.java
return 1;
источник

РМ

Роман Маринич... in learn.java
будет у всех одинаковый
источник

РМ

Роман Маринич... in learn.java
😂
источник

Q

Qwant in learn.java
@chikanov С этим не соглашается
источник

GV

Gukov Viktor in learn.java
источник

РМ

Роман Маринич... in learn.java
ну а вообще любая хеш фунция имеет коллизии
источник

РМ

Роман Маринич... in learn.java
тут глупо спорить что не могут быть одинаковые
источник

Q

Qwant in learn.java
Другие варианты есть?)
источник

РМ

Роман Маринич... in learn.java
return 2;
источник

РМ

Роман Маринич... in learn.java
источник

РМ

Роман Маринич... in learn.java
если серьезно
источник

РМ

Роман Маринич... in learn.java
уже все придумано
источник

DC

Denis Chikanov in learn.java
Qwant
@chikanov С этим не соглашается
Перечитай мои сообщения, не неси ахинею, плез.
источник

Q

Qwant in learn.java
Другим способом имеется ввиду
источник

N🌌

Nazarii 🌌 in learn.java
Роман Маринич
нативный варик же тока для примитивов работает?
у примитивов есть хешкод? 🤔
открытие какое-то
источник

DM

Dimm Mula in learn.java
Qwant
Другие варианты есть?)
Конечно есть. Объект А имеет поле а = 3, Объект Б имеет поле а = 3, хешкод берет это поле и умножает на 31. Хэшкод одинаковый, объекты разные.
источник