Exemplo de Lambda Java

De Basef
Revisão de 17h29min de 8 de julho de 2017 por Admin (discussão | contribs) (Criou página com 'Imagine uma lista de palavras do tipo String. Segue abaixo um exemplo de Lambda Java: <source lang="java"> palavras.forEach(s -> System.out.println(s)); </source> Repare que...')

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Imagine uma lista de palavras do tipo String. Segue abaixo um exemplo de Lambda Java:

palavras.forEach(s -> System.out.println(s));

Repare que é uma Lambda bem simples. Ela pôde ser escrita da forma simplificada acima pois só tem um parâmetro. A forma não simplificada de escrever esta mesma Lambda é a seguinte:

palavras.forEach((String s) -> {
    System.out.println(s);
});

As Lambdas acima simplificam muito a vida do programador. Se não fosse usado Lambda, o seguinte código teria sido utilizado:

palavras.forEach(new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s);
    }
});

Repare que, ao usar a sintaxe de Lambda, o compilador Java infere automaticamente que uma Classe anônima do tipo Consumer deve ser criada, e que o método accept deve ser implementado o código informado (System.out.println).