Встречается на собеседованиях • сегодня
Что будет возвращать equals при многократном использовании с одними и теми же объектами
Метод equals() должен быть детерминированным - при многократном вызове с одними и теми же объектами (если они не изменялись между вызовами) он должен возвращать одинаковый результат.
По контракту equals:
- Рефлексивность:
x.equals(x)всегда true - Симметричность: если
x.equals(y), тоy.equals(x) - Транзитивность: если
x.equals(y)иy.equals(z), тоx.equals(z) - Консистентность: повторные вызовы
x.equals(y)возвращают то же значение
Пример:
java
String a = "test";
String b = "test";
System.out.println(a.equals(b)); // true
System.out.println(a.equals(b)); // true - результат не изменилсяЕсли equals возвращает разные результаты для неизмененных объектов - это нарушение контракта.

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