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

[Dúvida] Sobreescrevendo toString - lista de filmes

        ArrayList<Filme> listaDeFilmes = new ArrayList<>();
        listaDeFilmes.add(meuFilme);
        listaDeFilmes.add(outroFilme);
        listaDeFilmes.add(filmeDoPaulo);
        System.out.println("Tamanho da lista de filmes: " +listaDeFilmes.size());
        System.out.println("Primeiro filme da lista: " +listaDeFilmes.get(0).getNome());
        System.out.println("Lista de filmes: " +listaDeFilmes);
        System.out.println("toString do filme: " +listaDeFilmes.get(0).toString());
        System.out.println("\n");

        ArrayList<Serie> listaSeries = new ArrayList<>();
        listaSeries.add(minhaSerie);
        System.out.println("Tamanho da lista de séries: " +listaSeries.size());
        System.out.println("Primeira série da lista: " +listaSeries.get(0).getNome());
        System.out.println("Lista de séries: " +listaSeries);
        System.out.println("toString da série: " +listaSeries.get(0).toString());
        System.out.println("\n");

Está dando erro na lista de séries.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá! Gilvaneide, tudo bem?

Quando você tenta imprimir a lista de séries, o Java usa o método toString() padrão da classe Object, que retorna o nome da classe seguido do hashcode, como você pode ver na saída.

Para resolver isso, você precisa sobrescrever o método toString() na classe Serie, assim como fez na classe Filme. Aqui está um exemplo de como você pode fazer isso:

public class Serie {
    private String nome;
    private int ano;

    // Construtor, getters e setters

    @Override
    public String toString() {
        return "Serie: " + nome + " (" + ano + ")";
    }
}

Certifique-se de que o método toString() retorne uma representação legível e significativa do objeto Serie, como o nome e o ano, por exemplo.

Depois de fazer essa alteração, a impressão da lista de séries deve mostrar as informações corretas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

É isso mesmo. Esqueci do @override na série. Tentei e consegui corrigir.

Agora só está faltando descobrir o que está errado na classe FiltroRecomendacao.

package br.com.gilvaneidemedeiros.calculos;

import br.com.gilvaneidemedeiros.modelos.Episodio;
import br.com.gilvaneidemedeiros.modelos.Filme;
import br.com.gilvaneidemedeiros.modelos.Serie;

public class FiltroRecomendacao {
    private String recomendacao;

    public void filtra(Serie classificavel) {
        if (classificavel.getClassificacao() >= 4) {
            System.out.println("Está entre os preferidos do momento: " + classificavel.getNome());
            System.out.println("\n");
        } else if (classificavel.getClassificacao() >= 2) {
            System.out.println("Muito bem avaliado no momento: " + classificavel.getNome());
            System.out.println("\n");
        } else {
            System.out.println("Coloque na sua lista para assistir depois: " + classificavel.getNome());
            System.out.println("\n");
        }

    }

    public void filtra(Filme classificavel) {
        if (classificavel.getClassificacao() >= 4) {
            System.out.println("Está entre os preferidos do momento: " + classificavel.getNome());
            System.out.println("\n");
        } else if (classificavel.getClassificacao() >= 2) {
            System.out.println("Muito bem avaliado no momento: " + classificavel.getNome());
            System.out.println("\n");
        } else {
            System.out.println("Coloque na sua lista para assistir depois: " + classificavel.getNome());
            System.out.println("\n");
        }
    }

    public void filtra(Episodio classificavel) {
        if (classificavel.getClassificacao() >= 4) {
            System.out.println("Está entre os preferidos do momento: " + classificavel.getNome());
            System.out.println("\n");
        } else if (classificavel.getClassificacao() >= 2) {
            System.out.println("Muito bem avaliado no momento: " + classificavel.getNome());
            System.out.println("\n");
        } else {
            System.out.println("Coloque na sua lista para assistir depois :" + classificavel.getNome());
            System.out.println("\n");
        }
    }
}

O resultado da série continua saindo como "null".

Insira aqui a descrição dessa imagem para ajudar na acessibilidade