Можно создать дубликат:
Overriding equals and hashCode in JavaПереопределение равно() и хэш-код() в Java
Все,
Я определил мой класс и для переопределения равна() и hashCode(). Но я не знаю, что конкретно эти методы должны быть реализованы для моего собственного класса. Может ли кто-нибудь пролить свет на реализацию этих методов для пользовательских классов?
Это на самом деле зависит от того, как вы определяете равенства. Часто нужно учитывать все или почти все атрибуты, иногда только один/несколько, а иногда (например, темы Threads), все, что вы хотите в методе equals(), - это сравнивать личность. – helpermethod