Bom dia/tade/noite! Gostaria de relatar um problema do meu código ao tentar criar uma o Map para avaliações da temporada, segue o código:
Map<Integer, Double> avaliacoesPorTemporada = episodios.stream()
.filter(e -> e.getAvaliacao() > 0.0)
.collect(Collectors.groupingBy(Episodio::getTemporada,
Collectors.averagingDouble(Episodio::getAvaliacao)));
System.out.println(avaliacoesPorTemporada);
O código esta gerando um NullPointerException,
java.lang.NullPointerException: Cannot invoke "java.lang.Double.doubleValue()" because the return value of "br.com.alura.screenmatch.model.Episodio.getAvaliacao()" is null
at br.com.alura.screenmatch.principal.Principal.lambda$exibeMenu$5(Principal.java:81) ~[classes/:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at br.com.alura.screenmatch.principal.Principal.exibeMenu(Principal.java:82) ~[classes/:na]