Mudanças entre as edições de "Exemplo de Lambda Java"
De Basef
(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...') |
|||
Linha 25: | Linha 25: | ||
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). | 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). | ||
+ | |||
+ | As Lambdas funcionam para interface que tenham apenas 1 método abstrato (interface funcional). | ||
[[Category: Java]] | [[Category: Java]] |
Edição das 18h33min de 8 de julho de 2017
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).
As Lambdas funcionam para interface que tenham apenas 1 método abstrato (interface funcional).