Bom dia!
Seguindo a aula ao chegar no comparação entre variável "a1" e "turini" ainda me retorna como false ao invés de true como mostrado no vídeo, podem me ajudar?
Segue meu código: TestaCursoComAluno: package br.com.alura;
public class TestaCursoComAluno {
public static void main(String[] args) {
Curso javaColecoes = new Curso("Dominando as coleções do Java", "Paulo Silveira");
// javaColecoes.getAulas().add(new Aula("Trabalhando com ArrayList", 21));
javaColecoes.adiciona(new Aula("Trabalhando com ArrayList", 21));
javaColecoes.adiciona(new Aula("Criando uma Aula", 20));
javaColecoes.adiciona(new Aula("Modelando com coleções", 24));
Aluno a1 = new Aluno("Lucas Pennella", 1111);
Aluno a2 = new Aluno("Vinicius Pennella", 1211);
Aluno a3 = new Aluno("Renato Pennella", 1311);
javaColecoes.matricula(a1);
javaColecoes.matricula(a2);
javaColecoes.matricula(a3);
System.out.println("Todos alunos matriculados no curso: ");
javaColecoes.getAlunos().forEach(a -> {
System.out.println(a);
});
System.out.println("O aluno " + a1 + " está matrículado?");
System.out.println(javaColecoes.estaMatriculado(a1));
Aluno turini = new Aluno("Rodrigo Turini", 34672);
System.out.println("E esse Turini, está matriculado?");
System.out.println(javaColecoes.estaMatriculado(turini));
System.out.println("O a1 é equals ao Turini?");
System.out.println(a1.equals(turini));
// Obrigatoriamente o seguinte é true:
System.out.println(a1.hashCode() == turini.hashCode());
}
}
Aluno: package br.com.alura;
public class Aluno {
private String nome;
private int numeroMatricula;
public String getNome() {
return nome;
}
public int getNumeroMatricula() {
return numeroMatricula;
}
@Override
public boolean equals(Object obj) {
Aluno outroAluno = (Aluno) obj;
return this.nome.equals(outroAluno.nome);
}
@Override
public int hashCode() {
return this.nome.charAt(0);
}
public Aluno(String nome, int numeroMatricula) {
if (nome == null) {
throw new NullPointerException("Nome não pode ser nulo");
}
this.nome = nome;
this.numeroMatricula = numeroMatricula;
}
@Override
public String toString() {
return "[Aluno: " + this.nome + ", Matrícula: " + this.numeroMatricula + "]";
}
}