Если ваши объекты находятся в среде, в которой вы полностью контролируете то, что вызывает для них equals()
, тогда вы должны отслеживать, какие сравнения вы выполняете, и соответствующим образом настраивать свой метод equals()
.
Вы можете быть в состоянии подтвердить, что определенные сценарии никогда не выполняются, поэтому их не нужно кодировать в пределах equals()
, например:
- сравнение
null
- сравнение разных типов
- сравнивая себя
Вы также можете выбрать соответствующий порядок проверок, которые вы выполняете, сначала проверив наиболее распространенные причины неудач.