Novidades Java 8
Douglas Frari
@douglasddf
profdouglas.blogspot.com
youtube.com/user/douglasddf
Tópicos desta seção
• visão geral
• lambdas
• exemplos tradicionais
• exemplos com lambdas
visão geral
Lambdas
• Recursos que alteram a forma como codificamos;
• Influenciam na sintaxe da linguagem;
• Conceitos de outras ling...
Por que lambdas em Java
agora?
• Sintaxe concisa
• Deficiência com inner classes anônimas
• Conveniente com nova lib strea...
vantagem principal: concisa
e expressiva
velho
novo
outras vantagens
• Encoraja a programação funcional
• Quando essa abordagem é usada, muitas problemas são
fáceis de resolv...
Lambdas
formas básicas
onde usar lambdas?
• Encontre alguma variável ou parâmetro que espera uma interface que tem
um método
• Um método abstrato...
como argumento para
métodos
como variáveis : +óbvio?
sintaxe (dica simples)
substitua isso:
por isso:
exemplo
velho estilo
novo estilo
ordenando por tamanho
velho estilo
novo estilo
ordenando por nomes
código?
tipos inferidos: boa ideia
• Tipos em lista de argumentos podem ser omitidos
substitua isso:
por isso:
Expressões corpo
• Não precisa usar o return, a menos que a expressão
contenha mais de uma linha.
substitua isso:
por isso:
omitindo os ( )
• se o método tem um simples argumento, pode-se
omitir os parênteses
substitua isso: por isso:
exemplo (listener p/ buttons)
Java 7 vs. Java 8
qual é mais simples?
pacote: java.util.function
dúvidas?
Referências
• http://docs.oracle.com/javase/tutorial/java/javaOO/la
mbdaexpressions.html
• http://www.slideshare.net/marty...
Upcoming SlideShare
Loading in...5
×

Java 8 e lambdas (palestra Techday 2.0)

1,445

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,445
On Slideshare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Java 8 e lambdas (palestra Techday 2.0)

  1. 1. Novidades Java 8 Douglas Frari @douglasddf profdouglas.blogspot.com youtube.com/user/douglasddf
  2. 2. Tópicos desta seção • visão geral • lambdas • exemplos tradicionais • exemplos com lambdas
  3. 3. visão geral
  4. 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. 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
  6. 6. vantagem principal: concisa e expressiva velho novo
  7. 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:
  8. 8. Lambdas formas básicas
  9. 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
  10. 10. como argumento para métodos
  11. 11. como variáveis : +óbvio?
  12. 12. sintaxe (dica simples) substitua isso: por isso:
  13. 13. exemplo velho estilo novo estilo
  14. 14. ordenando por tamanho velho estilo novo estilo
  15. 15. ordenando por nomes código?
  16. 16. tipos inferidos: boa ideia • Tipos em lista de argumentos podem ser omitidos substitua isso: por isso:
  17. 17. Expressões corpo • Não precisa usar o return, a menos que a expressão contenha mais de uma linha. substitua isso: por isso:
  18. 18. omitindo os ( ) • se o método tem um simples argumento, pode-se omitir os parênteses substitua isso: por isso:
  19. 19. exemplo (listener p/ buttons)
  20. 20. Java 7 vs. Java 8
  21. 21. qual é mais simples?
  22. 22. pacote: java.util.function
  23. 23. dúvidas?
  24. 24. Referências • http://docs.oracle.com/javase/tutorial/java/javaOO/la mbdaexpressions.html • http://www.slideshare.net/martyhall/java-8-tutorial- lambda-expressions-part-1 • https://github.com/edermag/java8-is-back
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×