Java 8 e lambdas (palestra Techday 2.0)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Java 8 e lambdas (palestra Techday 2.0)

  • 1,452 views
Uploaded on

Palestra no evento: http://www.cesar.edu.br/techday-2-0/ título: Novidades do Java 8 ...

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,452
On Slideshare
699
From Embeds
753
Number of Embeds
13

Actions

Shares
Downloads
17
Comments
0
Likes
1

Embeds 753

http://profdouglas.blogspot.com.br 676
http://profdouglas.blogspot.com 32
http://feedly.com 17
http://profdouglas.blogspot.pt 6
http://www.profdouglas.blogspot.com.br 5
http://digg.com 3
http://profdouglas.blogspot.de 3
http://profdouglas.wordpress.com 3
http://www.slideee.com 3
http://feeds.feedburner.com 2
http://profdouglas.blogspot.jp 1
http://profdouglas.blogspot.it 1
http://www.feedspot.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Novidades Java 8 Douglas Frari @douglasddf profdouglas.blogspot.com youtube.com/user/douglasddf
  • 2. Tópicos desta seção • visão geral • lambdas • exemplos tradicionais • exemplos com lambdas
  • 3. visão geral
  • 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
  • 6. vantagem principal: concisa e expressiva velho novo
  • 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. Lambdas formas básicas
  • 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. como argumento para métodos
  • 11. como variáveis : +óbvio?
  • 12. sintaxe (dica simples) substitua isso: por isso:
  • 13. exemplo velho estilo novo estilo
  • 14. ordenando por tamanho velho estilo novo estilo
  • 15. ordenando por nomes código?
  • 16. tipos inferidos: boa ideia • Tipos em lista de argumentos podem ser omitidos substitua isso: por isso:
  • 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. omitindo os ( ) • se o método tem um simples argumento, pode-se omitir os parênteses substitua isso: por isso:
  • 19. exemplo (listener p/ buttons)
  • 20. Java 7 vs. Java 8
  • 21. qual é mais simples?
  • 22. pacote: java.util.function
  • 23. dúvidas?
  • 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