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 ✓.