Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

dando erro NullPointerException

erro :java.lang.NullPointerException: Cannot invoke "java.lang.Double.doubleValue()" because the return value of "br.com.Amanda.screenmatch.Model.Episodio.getAvaliacao()" is null

Map<Integer, Double> avaliacaoPorTemporada = episodios.stream() .filter(e -> e.getAvaliacao() > 0.0) .collect(Collectors.groupingBy(Episodio::getTemporada, Collectors.averagingDouble(Episodio::getAvaliacao))); System.out.println(avaliacaoPorTemporada);

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi Amanda! Tudo bem?

Esse erro indica que tem algum episódio na sua lista episodios que possui a avaliação (avaliacao) como null. Quando o código tenta chamar o método doubleValue() em um null, ele lança um NullPointerException.

Para resolver isso, você pode adicionar um filtro adicional para garantir que apenas os episódios com uma avaliação não nula sejam processados. Aqui está como você pode ajustar o seu código:

Map<Integer, Double> avaliacaoPorTemporada = episodios.stream()
        .filter(e -> e.getAvaliacao() != null && e.getAvaliacao() > 0.0)
        .collect(Collectors.groupingBy(Episodio::getTemporada,
                Collectors.averagingDouble(Episodio::getAvaliacao)));
System.out.println(avaliacaoPorTemporada);

Neste código, adicionei e.getAvaliacao() != null ao filtro para garantir que apenas os episódios com uma avaliação não nula sejam considerados. Isso deve evitar o NullPointerException.

Espero ter ajudado e bons estudos!

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