Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não entendi o propósito do exercício, não está dando erro. Alguém ajuda?

package br.com.alura;

import java.util.List;
import java.util.Set;

//Crie uma nova classe de teste e matricule alguns alunos no curso
public class TestaCursoComAluno {

    public static void main(String[] args) {
        Curso javaColecoes = new Curso("Dominando as coleções do Java",
                "Paulo Silveira");

        Aluno a1 = new Aluno("Jose Maria", 5214);
        Aluno a2 = new Aluno("Luciano Leão", 6987);
        Aluno a3 = new Aluno("Pedro Augusto", 6325);

        javaColecoes.matricula(a1);
        javaColecoes.matricula(a2);
        javaColecoes.matricula(a3);

    //    javaColecoes.getAlunos().forEach(aluno -> {
    //        System.out.println(aluno);
    //    });        


       //tente adicionar mais um aluno no Set de alunos (sempre sem acentos)
        Set<Aluno> alunos = javaColecoes.getAlunos();

        Aluno a4 = new Aluno("Pedro Silva", 8596);
        javaColecoes.matricula(a4);        

        System.out.println("Todos os alunos matriculados: ");
        javaColecoes.getAlunos().forEach(aluno -> {
            System.out.println(aluno);
        });    
    }

}
3 respostas

Oi, Pode verificar se o metodo getAlunos() dentro da classe Curso esta implementado dessa forma?

public Set<Aluno> getAlunos() {
    return Collections.unmodifiableSet(alunos);
}

isso deveria impedir que você tenha a opção de modificar a lista de alunos quando vc atribuiu ao set (Alunos)

Pelo que andei olhando rapidamente nas aulas, o objetivo desse exercício era para você ver na prática o funcionamento do metodo unmodifiableSet da classe Collections

Olá,

o método getAlunos() está exatamente assim.

solução!

Acredito que você deve tentar adicionar o aluno através do set que você criou e não através do metodo. javaColecoes.matricula()..

Acho que o exercício também quer te mostrar que se você tentar adicionar fora da estrutura que você criou o sistema não ira permitir. você pode tentar essa abordagem?