2. Globalcode – Open4education
Apresentação
● Mestre em Ciência da Computação
● Professor na Universidade do Oeste de Santa Catarina -
Unoesc (unoesc.edu.br)
● Sócio proprietário da Camtwo Sistemas (camtwo.com.br)
● A mais de 10 anos trabalhando com Java e web
● Autor do agosti.blog.br
Cristiano Agosti
4. Globalcode – Open4education
Surgimento
● Java Specification Request - JSR 014
● Surgiu na versão 5 do Java para possibilitar a criação de
tipos parametrizáveis
● Melhoram o mecanismo de tipos da linguagem
6. Globalcode – Open4education
Vantagens
● Sem necessidade de cast
● Código mais robusto pois o compilador verifica o tipo (type
safe)
● Menos erros em tempo de execução
● Reaproveitamento de código com programação genérica
25. Globalcode – Open4education
Erasure (apagamento)
● O compilador Java cria uma ú nica representaç ão de byte
code para cada tipo genérico ou método genérico
● Todas as instanciaç ões dos Generics são mapeadas para
essa representaç ão usando uma técnica chamada de
Apagamento (Erasure)
27. Globalcode – Open4education
Restrições Generics
● Não usar tipos primitivos
● Não usar em atributos estáticos
● Não usar para cast ou instanceof
● Não usar em catch ou throw
● Não criar instancias T valor = new T();
● Não criar arrays T[ ] a = new T[10];
● Não aceita sobrecarga
28. Globalcode – Open4education
Conclusões
● Boa prática de Programação
● Segurança e reaproveitamento do código
● Compatibilidade com código legado
● Simplicidade e Robustez