Porque retorna false?
List a4 = c1.getListaAulas();
System.out.println(a4==c1.getListaAulas());
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Porque retorna false?
List a4 = c1.getListaAulas();
System.out.println(a4==c1.getListaAulas());
Oi Alexandre
Manda o código completo para entendermos o contexto, por favor.
Depois que deixei de passar como Collections.unmodifiableList passou a retornar true, segue o código completo da classe abaixo.
import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set;
public class Curso {
private String nome;
private String instrutor;
private List<Aula> aulas = new LinkedList<Aula>();
private Set<Aluno> alunos = new HashSet<>();
private Map<Integer, Aluno> matriculaParaAluno = new HashMap<>();
public Curso(String nome, String instrutor) {
this.nome = nome;
this.instrutor = instrutor;
}
public String getNome() {
return nome;
}
public String getInstrutor() {
return instrutor;
}
public List<Aula> getAulas() {
return Collections.unmodifiableList(aulas);
}
public void adiciona(Aula aula) {
this.aulas.add(aula);
}
public Set<Aluno> getAlunos() {
return Collections.unmodifiableSet(alunos);
}
public void matricula(Aluno a) {
this.alunos.add(a);
this.matriculaParaAluno.put(a.getNumeroMatricula(), a);
}
public boolean estaMatriculado(Aluno aluno) {
return this.alunos.contains(aluno);
}
public Aluno buscaMatriculado(int matricula) {
if (this.matriculaParaAluno.get(matricula) == null) {
throw new NullPointerException("Matricula nao cadastrada!");
}
return this.matriculaParaAluno.get(matricula);
}
public int getTempoTotal() {
return this.aulas.stream().mapToInt(Aula::getTempo).sum();
}
@Override
public String toString() {
return "Curso [nome=" + nome + ", instrutor=" + instrutor + ", aulas=" + aulas + ", alunos=" + alunos + "]";
}}