Java 5 - Novidades - PowerPoint PPT Presentation

java 5 novidades n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Java 5 - Novidades PowerPoint Presentation
Download Presentation
Java 5 - Novidades

play fullscreen
1 / 26
Java 5 - Novidades
100 Views
Download Presentation
xanti
Download Presentation

Java 5 - Novidades

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Java 5 - Novidades Gerente de Tecnologia – Vitor Costa

  2. Novidades • Tipos genéricos; • Autoboxing/unboxing; • Enhanced for Loop; • Covariância; • Tipos enumerados; • Static Imports; • Annotations (Metadata); • Argumentos variáveis; • Leituras e escritas formatadas; • Outras novidades...

  3. Tipos Genéricos • JSR-14; • Sintaxe mais limpa – evita casts; • Verificação em tempo de compilação; • Equivalente ao Template em C++, será?

  4. Tipos Genéricos • Antes: • Agora:

  5. Construindo Tipos Genéricos

  6. Autoboxing/unboxing • JSR-201; • Elimina a conversão manual entre os tipos primitivos e suas “wrapper” classes; • Código mais simples de ler; • Facilita a integração dos tipos genéricos;

  7. Autoboxing/unboxing • Antes: • Agora:

  8. Autoboxing/unboxing • Se A é igual a B e B é igual a C, então A é igual a C; • Não é mais verdade após Java 5; 

  9. Enhanced for Loop • JSR-201; • Conhecido como for-each em outras lings.; • Reduz a repetição de código para iterar sobre arrays ou coleções; • Melhor usado com tipos genéricos;

  10. Enhanced for Loop - array • Antes: • Agora:

  11. Enhanced for Loop - coleção • Antes: • Agora:

  12. Enhanced for Loop • Não substitui os loops onde é necessário a utilização de um contador; • Não se aplica às iterações onde se deseja remover ou substituir os elementos; • Pode ser mais lento quando usado em conjunto com coleções muito grandes; • Suporte do “Enhanced for Loop” a qualquer coleção: java.lang.Iterable<E>;

  13. Covariância • Parte da JSR-14 (tipos genéricos); • Capacidade de uma subclasse sobrescrever um método trocando seu tipo de retorno por uma subclasse do tipo de retorno original;

  14. Covariância

  15. Tipos Enumerados • JSR-201; • Permite criação de tipos enumerados diretamente na linguagem (sem ter que recorrer a padrões); • Adiciona um novo termo às palavras reservadas: enum;

  16. Tipos Enumerados

  17. Tipos Enumerados

  18. Static Imports • JSR-201; • Importa as funções e variáveis públicas estáticas de outra classe; • Substitui o “Constant Interface Antipattern”; • Pode facilitar o uso destas funções e variáveis, mas não devemos abusar;

  19. Static Imports • Antes: • Agora:

  20. Annotations (Metadata) • JSR-175; • Permite que você defina e use seus próprios tipos de anotação; • Podem ser acessadas via reflexão; • Não alteram a semântica do programa, mas pode afetar como o programa é tratado por ferramentas e bibliotecas; • Programadores típicos nunca precisarão definir um tipo Annotation;

  21. Argumentos Variáveis • JSR-65; • Permite a definição de métodos com número de argumentos variáveis; • Elimina a necessidade de empacotar listas em um array; • Só poder ser utilizado como última variável em um método;

  22. Argumentos Variáveis

  23. Leituras e escritas formatadas • JSR-51; • Facilidades para leitura e escrita de textos formatados; • Leitura: Scanner, evolução do StringTokenizer; • Escrita: printf em Java;

  24. Leituras e escritas formatadas • Escrita: • Leitura:

  25. Outras Novidades... • Utilitário para programação concorrente; • RMI: não necessita mais do rmic; • Algumas adições na API JDBC; • Muitas melhorias no desempenho: http://java.sun.com/performance/reference/whitepapers/5.0_performance.html • StringBuilder e StringBuffer;

  26. Java 5 - Novidades Gerente de Tecnologia – Vitor Costa