Palestra no evento: http://www.cesar.edu.br/techday-2-0/ título: Novidades do Java 8
Resumo: Faremos uma discussão sobre as Expressões Lambda e os impactos da incorporação desta
funcionalidade na linguagem, além das principais novidades do Java 8.
profdouglas.blogspot.com
4. Lambdas
• Recursos que alteram a forma como codificamos;
• Influenciam na sintaxe da linguagem;
• Conceitos de outras linguagens como Lisp, Haskell,
(paradigma funcional);
• Tornar mais fácil determinadas tarefas que necessitam de
muitas linhas de código.
• Sua principal característica são as entidades que podem
ser utilizadas como argumentos e retornadas como valores
de outras funções.
5. Por que lambdas em Java
agora?
• Sintaxe concisa
• Deficiência com inner classes anônimas
• Conveniente com nova lib streams:
• palavras.forEach( s -> System.out.println(s));
• Construtor similar usado em outras linguagens:
• Um passo a frente para suportar a programação
funcional
7. outras vantagens
• Encoraja a programação funcional
• Quando essa abordagem é usada, muitas problemas são
fáceis de resolver e resultam em código que é claro de ler e
simples de manter;
• Suporte Streams
• São wrappers de collections que usam lambdas e podem
tornar-se concorrentes automaticamente pelo compilador:
9. onde usar lambdas?
• Encontre alguma variável ou parâmetro que espera uma interface que tem
um método
• Um método abstrato? em java 7 não há uma distinção entre um
método de interface e um método de interface abstrato. Isso é agora
chamado de Interface funcional.
• Código que usa interface é a mesma
• Código que chama a interface pode suprimir com lambda