1
resposta

Faça como eu fiz: utilizando foreach e instanceof

import br.com.alura.screematch.modelos.Filme;
import br.com.alura.screematch.modelos.Serie;
import br.com.alura.screematch.modelos.Titulo;

import java.util.ArrayList;

public class PrincipalComListas {
    public static void main(String[] args) {
        Filme meuFilme = new Filme("É Assim Que Acaba", 2024);
        meuFilme.avalia(9.5);

        Filme outroFilme = new Filme("A Origem", 2010);
        outroFilme.avalia(9.0);

        Filme filmeDaGaby = new Filme("Barbie", 2023);
        filmeDaGaby.avalia(7.0);

        Serie bugados = new Serie("Bugados", 2019);

        Filme f1 = filmeDaGaby;

        ArrayList<Titulo> lista = new ArrayList<>();
        lista.add(filmeDaGaby);
        lista.add(meuFilme);
        lista.add(outroFilme);
        lista.add(bugados);

        for (Titulo item : lista) {
            System.out.println(item.getNome());
            if (item instanceof Filme filme && filme.getClassificacao() > 2) {
                System.out.println("Classificação: " + filme.getClassificacao());
            }
        }
    }
}
1 resposta

Oi, Gabrielly! Tudo bem?

Você organizou muito bem a lista de objetos usando o ArrayList<Titulo> e aplicou corretamente o instanceof com pattern matching para verificar se o item é um filme antes de acessar a classificação. Ficou bem estruturado e demonstra compreensão sobre o uso de polimorfismo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!