Não consigo colocar o título na comparação
Aguardo resposta desde já agradeço
Não consigo colocar o título na comparação
Aguardo resposta desde já agradeço
Oi Alexandre, tudo bem?
O que está acontecendo aí tem relação com escopo de variável.
Na linha:
listaDeFilmes.forEach(Titulo titulo -> System.out.println(titulo.getNome()));
A variável titulo existe apenas dentro da lambda do forEach. Ou seja, ela só pode ser usada dentro dessa expressão. Fora dela, o compilador não reconhece essa variável, por isso o erro ao tentar fazer:
if (titulo instanceof ...)
Para conseguir comparar com instanceof, você precisa fazer isso dentro do próprio forEach.
Um exemplo de código que resolveria essa questão:
listaDeFilmes.forEach(titulo -> {
System.out.println(titulo.getNome());
if (titulo instanceof Filme) {
Filme filme = (Filme) titulo;
System.out.println("Classificação: " + filme.getClassificacao());
}
});
Caso o problema persistir, peço que me retorne com as seguintes informações:
Espero ter ajudado e fico à disposição!
Abraços e bons estudos!