Estou utilizando o Interllij e o mesmo gerou os método abaixo que não estão iguais aos do exercício, quando utilizo o eclipse os métodos são gerados iguais ao do exercício. Porque as ideas geram métodos diferentes? O que esses métodos fazem exatamente? (Estou com dificuldades de entender)
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Aluno)) return false;
Aluno aluno = (Aluno) o;
if (getNumeroMatricula() != aluno.getNumeroMatricula()) return false;
return getNome() != null ? getNome().equals(aluno.getNome()) : aluno.getNome() == null;
}
@Override
public int hashCode() {
int result = getNome() != null ? getNome().hashCode() : 0;
result = 31 * result + getNumeroMatricula();
return result;
}