A apresentação introduz as principais novidades da API Java 8, incluindo: (1) a nova API de datas e horas que oferece uma abordagem mais simples e imutável para trabalhar com datas; (2) Default Methods que permitem adicionar comportamentos a interfaces existentes sem quebrar a compatibilidade; e (3) Lambdas e Streams que trazem suporte a programação funcional para Java.
3. Agenda
1. Como o Java evolui?
2. A nova API de Data e Hora
3. Default Methods e Functional Interfaces
4. O que são Lambdas?
5. Method Reference
6. Streams
5. Java SE Java EE
● Linguagem Java
● Compilador
● Máquina Virtual
● Bibliotecas
padronizadas
● Servidor de Aplicação
6. Especificação Implementação
● JCP - Process
● JSR 337 - Spec
● Especificação de
Referência
● Expert Group e
Contribuidores
● Implementações de
fornecedores
● Precisam seguir o
padrão
● Liberdade para
implementar
11. java.util.Date Java 1.0
● Que 12 se refere ao ano, mês ou dia?
● Mês 12 não é dezembro, é janeiro!
● Ano 12 não é ano 12, é 1913!
● Há um horário na data?
● Que timezone é esse?
12. java.util.Calendar Java 1.1
…
● Mutável e não thread-safe
● Bastante verboso
● Não pode ser formatado, usa Date
● Não pode ser criado a partir de um Date
● Possui bugs e problemas de performance
13. java.time.LocalDate Java 8.0
● Fácil de Usar
● Design fluente
● Imutável, thread-safe
● ISO 8601 – Formato: ANO-MES-DIA
● Dezembro é 12!
17. // o que mais?
● Cálculos com datas e horas
● Nível de nanosegundos
● Fuso horário
● Comparação (isAfter, isBefore, isEqual)
● Duração
● Formatação simples
● Interoperações com Date e Calendar