Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Código para substituição da expressão lambda do Java 8.

Boa tarte! Alguém saberia informar uma rotina para substituir a expressão lambda do java 8 e desta forma, funcionar no java 7?

classe: CarrinhoCompras

public int getQuantidade(){
    return itens.values().stream().reduce(0, (proximo, acumulador) -> (proximo + acumulador));
}

Estou utilizando o Eclipse Luna no Ubuntu com java7.

Obrigado.

3 respostas
solução!

Edson, tudo bem ?

Cara você vai ter que pegar essa lista e iterar em cima dela fazendo isso. Um for each deve funcionar.

public int getQuantidade(){
    int qtd;

    for(Valor valor : itens.values()){

        // atualiza a qtd
    }

    return qtd;
}

Legal. Apesar de gastar mais linhas, na minha opinião o código fica bem mais claro assim. Muito obrigado Matheus!

Java 8 é mais fácil de ser usado e tem um pouco mais de performance, contudo deixa a legibilidade um pouco mais dificil.