Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java 8 - Papo Reto Bluesoft

Java 8 - Papo Reto Bluesoft

Neste divertido Papo Reto, William Miranda explica sobre algumas funcionalidades do Java 8 utilizando exemplos dos problemas que o Mr. Catra enfrenta em seu dia-a-dia.

Ele mostra como Lambda e a nova API de Stream introduzida no Java 8, pode nos ajudar no desenvolvimento do dia a dia com as collections.

Confira a apresentação.

----------------------------------------­­---------------------------------------­-­----

Confira mais palestras em http://labs.bluesoft.com.br

Este Papo Reto é um oferecimento de Acelerato - Gestão de Projetos ágeis e Help Desk

Acesse http://www.acelerato.com e descubra como podemos ajudá-lo.

More Decks by William Miranda de Jesus

Other Decks in Education

Transcript

  1. 2 catras realidades diferentes • 1 Esposa • 1 Filho • 1 musica

    • 0 CDs • Programador • 4 Esposas • 28 filhos • Diversas Musicas • 8 CDs • Cantor Wagner Domingues William Miranda
  2. Os diversos problemas do Mr. Catra •  Total de CDs

    •  Total de Musicas Gravadas •  Números de CDs Proibidões •  Nome das músicas boas •  Músicas estilo proibidão •  Ordernar CDs por ano de lançamento •  Nome das Mulheres •  Nome dos Filhos •  Filhos Maiores de Idade •  Filhos Adotivos •  Filhas mulheres •  Filhos de uma determinada mãe •  Qual a mulher está de TPM •  Qual mulher visitar •  Idade dos Filhos Música Família
  3. @FunctionInterface •  São intefaces com apenas 1 metodo abastrato. • 

    Pode conter mais de um default method •  Podem ser anotadas com anotação opcional @FunctionInterface, evitando que pessoas adicione outros metodos abstratos por engano. •  Na biblioteca antiga java existe interface funcional como Runnable, Comparator •  Na biblioteca do Java 8 existe interfaces como Predicate, Consumer
  4. Novos métodos nas Collections •  Iterable adicionou o método foreach,

    agora você itera diretamente em sua coleção •  Você pode passar uma expressão lambda para o foreach da coleção
  5. Default Method •  Adiciona métodos a Interfaces antigas mantendo a

    compatibillidade com aplicação que a implementam. •  Possuem corpo, ou seja, são implementados na própria Interface Static Method •  Junto com o default methods agora as interfaces podem implementar métodos estáticos dentro dela
  6. Reference::Method •  São utilizados para substituir uma expressão lambda de

    apenas uma linha, assim como no lambda se o método esperar argumento o compilador vai tentar inferir o parametro conforme o tipo esperado
  7. Stream •  Forma inteligente de se trabalhar com as Collections

    •  Geralmente envolve-se 3 coisa quando estamos trabalhando com Stream (datasource, cadeia de operacões intermediarias, uma operação terminal) •  Algumas operações são laziness e short-circuiting