Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,841 views

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
  • Be the first to comment

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

×