Oi, Amanda! Tudo bem?
Pelo que você descreveu no título, você está enfrentando um NullPointerException
no seu código. Esse erro ocorre quando você tenta usar um objeto que não foi inicializado. Vamos dar uma olhada mais de perto no seu código para identificar onde isso pode estar acontecendo:
DoubleSummaryStatistics est = episodios.stream()
.filter(e -> e.getAvaliacao() > 0.0)
.collect(Collectors.summarizingDouble(Episodio::getAvaliacao));
System.out.println("Média: " + est.getAverage());
System.out.println("Melhor episódio: " + est.getMax());
System.out.println("Pior episódio: " + est.getMin());
System.out.println("Quantidade: " + est.getCount());
A primeira coisa que precisamos verificar é se a lista episodios
foi inicializada corretamente antes de você tentar fazer o stream. Se episodios
for null
, qualquer operação que você tentar fazer com ela, como o stream()
, resultará em um NullPointerException
.
Aqui está um exemplo de como você pode garantir que episodios
não é null
antes de processar:
if (episodios != null) {
DoubleSummaryStatistics est = episodios.stream()
.filter(e -> e.getAvaliacao() > 0.0)
.collect(Collectors.summarizingDouble(Episodio::getAvaliacao));
System.out.println("Média: " + est.getAverage());
System.out.println("Melhor episódio: " + est.getMax());
System.out.println("Pior episódio: " + est.getMin());
System.out.println("Quantidade: " + est.getCount());
} else {
System.out.println("A lista de episódios está vazia ou não foi inicializada.");
}
Essa verificação simples ajuda a evitar o NullPointerException
ao garantir que você só tenta processar a lista se ela não for null
.
Se a lista não for null
e ainda assim você estiver recebendo um NullPointerException
, o próximo passo é verificar se algum elemento dentro da lista episodios
é null
. Para isso, você pode adicionar uma verificação dentro do filter
:
DoubleSummaryStatistics est = episodios.stream()
.filter(e -> e != null && e.getAvaliacao() > 0.0)
.collect(Collectors.summarizingDouble(Episodio::getAvaliacao));
System.out.println("Média: " + est.getAverage());
System.out.println("Melhor episódio: " + est.getMax());
System.out.println("Pior episódio: " + est.getMin());
System.out.println("Quantidade: " + est.getCount());
Essas abordagens devem ajudar a identificar e resolver o problema de NullPointerException
no seu código.
Um abraço e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.