❓ Расскажите про контракт equals
Основные правила контракта:
1. Рефлексивность: для любого объекта x, x.equals(x) должно возвращать true.
2. Симметричность: если x.equals(y) возвращает true, то и y.equals(x) должно возвращать true.
3. Транзитивность: если x.equals(y) возвращает true, а y.equals(z) возвращает true, то и x.equals(z) должно возвращать true.
4. Последовательность: если два объекта равны, то они должны оставаться равными на протяжении всех вызовов equals.
5. Неравенство: если x.equals(y) возвращает false, то x.hashCode() должен быть отличным от y.hashCode().
🐸 Библиотека собеса по Java
Post #986
2.2K
- 👍 8
- 🤔 4
- ❤ 3
- 🔥 3
- 👏 3