Найти в Дзене
DEBAGanov

Java 115. Напишите методы Equals and HashCode для класса Student, состоящего из полей String name и int age.

Kонечный код для класса Student, с реализованными методами equals() и hashCode(), может выглядеть следующим образом:

public class Student {
private String name;
private int age;

public Student(String name, int age) {
this.name = name;
this.age = age;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Student)) return false;
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}

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

Метод equals() сравнивает два объекта класса Student на основании их имен и возрастов. Он переопределяет метод equals() из класса Object, который по умолчанию сравнивает ссылки на объекты.

Метод hashCode() вычисляет хеш-код объекта класса Student на основании его имени и возраста. Он также используется в методах работы с коллекциями, например, при использовании объектов типа HashSet, HashMap и т.д.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov