Size: a a a

2021 January 26

GV

Gukov Viktor in learn.java
Qwant
Ну а как вы переопределите, чтобы эти 2 разных объекта, выдали одинаковый хешкод?
hashcode у String например. В случае Latin1 считает хэш по байтам каждого символа
В результате строки:
I have a common prefixDB и I have a common prefixCa выдадут одинаковый hashcode
источник

Q

Qwant in learn.java
Denis Chikanov
Перечитай мои сообщения, не неси ахинею, плез.
Тут даже Роман написал return 2. Это и есть вбить число
источник

DC

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

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

Откуда у них одинаковый хешкод?
return (7 * a) - (3 * b) прекрасно вернёт для вот этой пары значений один и тот же хэшкод.
источник

Q

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

DM

Dimm Mula in learn.java
Qwant
Тут даже Роман написал return 2. Это и есть вбить число
Он говорит о том, что хешкод может быть одинаковым не только в случае неверного переопределения, но и в случае верного. Именно поэтому существует контракт хэшкода и иквалс.
источник

DC

Denis Chikanov in learn.java
Qwant
Тут даже Роман написал return 2. Это и есть вбить число
Потому что это называется "вернуть константу", а не "вбить число в хэшкод".
источник

DM

Dimm Mula in learn.java
Qwant
Посмотрите пожалуйста картинку выше.
Я как раз посмотрел очень хорошо.
источник

Q

Qwant in learn.java
Denis Chikanov
return (7 * a) - (3 * b) прекрасно вернёт для вот этой пары значений один и тот же хэшкод.
Да, вы правы...теперь я вообще сломался, спасибо)
источник

DC

Denis Chikanov in learn.java
Qwant
Да, вы правы...теперь я вообще сломался, спасибо)
Я же тебе сказал прочитать про хэш-коллизии.
источник

Q

Qwant in learn.java
Denis Chikanov
Я же тебе сказал прочитать про хэш-коллизии.
Прочитал https://habr.com/ru/post/168195/
Не идет что - то
источник

DC

Denis Chikanov in learn.java
И там тебе пишут русским по белому:
если хеш-коды равны, то входные объекты не всегда равны (коллизия)
источник

VG

Vitaly Gudz in learn.java
источник

VG

Vitaly Gudz in learn.java
источник

Q

Qwant in learn.java
Смотрел ролики эти
источник

IS

Ilyas Sarsenbaev in learn.java
Всем привет. Хочу написать простой проект для генераций некоторых данных на основе данных из чужого апи.

Вопрос: где я могу хранить аутентификационные данные этого апи сервера?
источник

DC

Denis Chikanov in learn.java
Так, я читать не умею, удалил за собой
источник

IS

Ilyas Sarsenbaev in learn.java
думаю просто небезопасно хранить их в проперти файле
источник

DC

Denis Chikanov in learn.java
Ilyas Sarsenbaev
Всем привет. Хочу написать простой проект для генераций некоторых данных на основе данных из чужого апи.

Вопрос: где я могу хранить аутентификационные данные этого апи сервера?
Как правило, хранят в переменных окружения, где разворачивается приложение.
В пропертях и тем более в репозитории как правило не хранят.
источник

IS

Ilyas Sarsenbaev in learn.java
Denis Chikanov
Как правило, хранят в переменных окружения, где разворачивается приложение.
В пропертях и тем более в репозитории как правило не хранят.
а как мне в классе получить данные из .env? есть какие-то библиотеки?
источник

Q

Qwant in learn.java
При вычислении хэш-кода для объектов класса Object по умолчанию используется Park-Miller RNG алгоритм. В основу работы данного алгоритма положен генератор случайных чисел. Это означает, что при каждом запуске программы у объекта будет разный хэш-код.

Я как понимаю, рандомное число подразумевается что при вызове new ClassA() 2 раза, может получиться так, что 2 объекта, получат 1 и тот же хешкод? В случае с native методом hashcode
источник