Если вы добавите экземпляр MyCustomClass
в список, а затем проверьте, содержит ли он другой экземпляр MyCustomClass
, он всегда вернет false, если вы не переопределите метод equals
в своем пользовательском классе. Метод equals проверяет, является ли другой объект функционально равным этому объекту.
Не забывайте переопределять метод hashCode
каждый раз, когда переопределяете метод equals. hashCode
должно возвращать одинаковое значение для двух одинаковых объектов. Также, равные должны быть записаны так, чтобы это было симметрично: a.equals(b)
тогда и только тогда, когда b.equals(a)
.
Проверка равно и hashCode в Javadoc java.lang.Object
.