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

unmodifiableSet

Olá, se algem puder me judar com a seguinte duvida agradeço, O meuu metodo getAlunos esta como unmodifiableSet:

``` public Set getAlunos() { return Collections.unmodifiableSet(alunos); }

Porem ao adicionar um novo aluno com o metodo add, o aluno não foi adicionado e tambem o eclipse não me deu nenhuma exeption...

package br.com.alura;

import java.util.HashSet; import java.util.Set;

public class TestaCursoComAlunos {

public static void main(String[] args) {

Curso NovoCurso = new Curso("Java Collections", "Paulo Silveira");

NovoCurso.adiciona(new Aula("matematica", 10)); NovoCurso.adiciona(new Aula("Potugues", 18)); NovoCurso.adiciona(new Aula("Historia", 12));

Aluno a1 = new Aluno("João ricardo", 1987); Aluno a2 = new Aluno("Annai de Siqueira", 3417); Aluno a3 = new Aluno("Carmentino de Siqueira", 2271);

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

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

Set alunos = new HashSet<>(); alunos.add(new Aluno("Manoel", 1234));

}

}

```

2 respostas

Bom dia amigo,

Ainda não entendi a dúvida. Os alunos que você está adicionando no método matricula não estão sendo impressos, é isso?

solução!

José Carlos,

Quando o método retorna Collections.unmodifiableSet(alunos) nenhum novo aluno poderá ser incluído nesta coleção, que é utilizada exatamente para esta finalidade.

Se você tiver a necessidade de incluir um novo aluno nesta lista, uma nova coleção deve ser criada a partir desta e então nesta nova coleção o aluno poderá ser adicionado.