Встречается на собеседованиях • сегодня
Что такое симметричность
Симметричность в Java означает, что если объект a равен b, то b должен быть равен a. Это одно из основных требований для корректной реализации метода equals().
Пример нарушения симметричности:
java
class A {
@Override
public boolean equals(Object o) {
if (o instanceof String) { // опасно!
return this.toString().equals(o);
}
return false;
}
}Если a.equals(b) возвращает true, то b.equals(a) может вернуть false, если b — строка.
Правильная реализация:
java
@Override
public boolean equals(Object o) {
if (o == null || o.getClass() != this.getClass()) {
return false;
}
A other = (A) o;
// сравнение полей
}Симметричность гарантирует согласованность логики сравнения объектов.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы