Sobes.tech
Назад к вопросам
Middle
4

Дан следующий Java-класс class Person { String firstName; String lastName; Integer age; } Необходимо реализовать стандартный метод, осуществляющий сравнение 2-х объектов Person.

Компании, где спрашивали
экзон

Ответ от нейросети

sobes.tech AI

Для сравнения двух объектов класса Person обычно переопределяют метод equals и, желательно, hashCode. Вот пример реализации:

class Person {
    String firstName;
    String lastName;
    Integer age;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return Objects.equals(firstName, person.firstName) &&
               Objects.equals(lastName, person.lastName) &&
               Objects.equals(age, person.age);
    }

    @Override
    public int hashCode() {
        return Objects.hash(firstName, lastName, age);
    }
}

Здесь используется класс Objects из java.util для удобного сравнения и вычисления хеш-кода с учётом возможных null значений.