O código a seguir foi o passado pelo instrutor:
private double valorTotalDosPagamentos() {
double total = 0;
for(Pagamento p : pagamentos) {
total += p.getValor();
}
return total;
}
Como imaginei que o curso poderia ter sido gravado antes da implementação do Java 8 fiz a mesma aplicação utilizando o lambda, porém o código não compilou. Segue:
private double valorTotalDosPagamentos() {
double total = 0;
this.pagamentos.forEach(pagamento -> total += pagamento.getValor());
return total;
}
Na descrição do problema o Eclipse diz que a variável "total" definida num escopo incluso deve ser final ou efetivamente final, aonde está o problema?