Топ контрибуторов
loading
loading
Знаете ли Вы, что

Лучшие IT работодатели регулярно просматривают рейтинги и профили пользователей в поисках кандидатов. Для корректного отображения ваших данных рекомендуем заполнить ваш профиль и добавить информацию о вас и вашей профессии.

Лента обновлений
ссылка Oct 22 11:08
Комментарий от megaborder:
отличный тест, но вопросы с большим листингом занимаю...
ссылка Oct 21 20:24
Комментарий от Zalimhan020:
Прямые и косвенные, на функциональные и не функцион...
ссылка Oct 20 12:03
Комментарий от hello_World94:
Соглашусь с предыдущими спикерами, вопрос сформули...
ссылка Oct 12 19:43
Комментарий от olhasv:
super
ссылка Oct 11 12:18
Добавлен вопрос в тест SQL - Средний уровень
Статистика

Тестов: 153, вопросов: 8596. Пройдено: 488860 / 2383646.

Правильное определение equals() и hashCode()

Вопрос из теста ООП в Java

Какое утверждение верно по отношению к данному коду:

public class Person {
    private String name;
    public Person(String name) {
        this.name = name;
    }
    public boolean equals(Person p) {
        return p.name.equals(this.name);
    }
} 
  • Метод equals неправильно переопределяет метод equals класса Object.

  • Возникнет ошибка компиляции в методе equals, так как из этого метода не доступно p.name.

  • Для того, чтобы класс корректно работал в любом контексте, он должен переопределить еще и метод hashCode класса Object

  • В методе equals не хватает вызова super.equals(this.name).