Open JayCesar opened 6 months ago
Em Inglês Generic Type é um tipo que possui um ou mias parâmetros de tipo. Box
Quando eu for utilizar o Generics eu preciso passar um tipo de refência e não primitivo!
E - Elemento (muito usado pelas classes de coleção) K - Chave (Key) N - Número T - Tipo V - Valor
Eu posso colocar instaências de um classe em um interface que é implementada por essa interface
OrderedPair<String, Box<Integer>> p =
new OrderedPair<>("primos", new Box<Integer>(...));```
## Tipo Raw
Se eu defino uma classe com o parâemtro T, ou seja, do Tipo T e na hora de instanciar não passar o tipo, ela irá funcionar como se T fosse substituído por Object.
## Parâmetros Limitados
📚 Motivação
Defeito de software: São um fato da vida. Acostume-se, Generics aumentam o número de defeitos que a gente consegue encontrar já em tempo de compilação.
Mas...por que Generics?
Esse conjunto de comandos só funciona porque essas três linhas estão juntas. Se eles estivessem separadas....é capaz de eu obter um Casting Exception.
| Tempo de compilação diferente Tempo de Execução
O uso de genericos permite que o tipo (classes ou intercace) seja usado como um parâmetro da definição de novas classes, interfaces e métodos. O uso de genéricos garante que o código seja: