Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему проверка с помощью equals и hashCode не работает как мне нужно?

Alex Drugs Ученик (90), закрыт 1 год назад
Почему проверка с помощью equals и hashCode не работает как мне нужно?
Лучший ответ
Александр Искусственный Интеллект (291136) 1 год назад
для всех работает, а у вас не работает?
код в студию...
Остальные ответы
DsD Мудрец (12642) 1 год назад
контракты соблюдены все?
Alex DrugsУченик (90) 1 год назад
А если перечитал?
DsD Мудрец (12642) Alex Drugs, тогда нужно приложить код к вопросу, скрином или текстом. остальным будет понятнее в чём проблема.
DsDМудрец (12642) 1 год назад
хотя в общем перечитать и осознать не одно и то же. впрочем ладно.
Alex DrugsУченик (90) 1 год назад
DsD Мудрец (12642) Alex Drugs, покажите переопределение equals() и hashCode() в классе Product. зачем вы хеш коды сравниваете?
Alex DrugsУченик (90) 1 год назад
Мне нужно выбросить исключение, если продукт есть в корзине
DsD Мудрец (12642) Alex Drugs, как это связано со сравнением хэш кодов? equals подразумевает одинаковые хеш коды объектов. вы методы в классе вашего объекта переопределили?
Alex DrugsУченик (90) 1 год назад
Alex DrugsУченик (90) 1 год назад
Я делал и через contains, тоже не выходит
Alex DrugsУченик (90) 1 год назад
Дубликаты не добавляются, но при попытке мне нужно выбросить исключение
Alex DrugsУченик (90) 1 год назад
В этот метод я обернул add() тк из майна не вызвать метод add напрямую, + нужна проверка, чтобы выкинуть исключение
DsD Мудрец (12642) Alex Drugs, в addProduct() у вас в любом случае противоречие. проверяется что хеш коды не равны и объекты equals = добавляем продукт. не должно быть такой ситуации когда объекты через equals true, а хеш коды не совпадают. хотя в общем непонятно в каком классе находится этот метод
Оракул Оракул (59384) 1 год назад
Сомневаюсь, что this у вас сет продуктов, скорей всего продукт
Тогда вы сравниваете СЕТ продуктов с самим ПРОДУКТОМ, а не ПРОДУКТ с ПРОДУКТОМ
Похожие вопросы