"genérico" em inglês genérico {adj. m.} genérico {m.} genericamente {adv.}
Dica - Generics são implementados pelo compilador através de um mecanismo de conversão chamado erasure. Pode-se pensar neste como uma tradução source-to-source onde, basicamente, todas as informações de tipos genéricos são "apagadas".
Generics são relacionadas com Templates em C++, mas diferente deles, que criam novos tipos para cada parâmetro específico, em java as classes parametrizadas são compiladas apenas uma vez e mais importante é que é gerado apenas um único arquivo, visto que Generics é utilizado na fase de compilação e na execução o javac ...
A motivação de estudar Generics em Java é de poupar o desenvolvedor de códigos redundantes, como é o caso de casting excessivo. Este foi introduzido desde o Java SE 5.0.
Como Generics funcionam? Após verificar em tempo de compilação se a sintaxe do código está de acordo com as específicações de Generics e Java, o compilador irá gerar o código em Java byte-codes, mas sem a sintaxe generics, convertendo isso para o que é chamado de raw type.
O recurso Generics é uma maneira inteligente para definir tipos genéricos especiais (classes ou estruturas) do tipo seguro sem ter que se comprometer com um tipo específico de dados em tempo de projeto.
Tipos genéricos permitem que (classes e interfaces) sejam usadas como parâmetros na definição de classes, interfaces e métodos. A seção dos parâmetros de 3po é delimitada pelos símbolos () e vem após o nome da classe. é informalmente denominado por "diamante" (diamond).
O recurso Generics é uma maneira inteligente para definir tipos genéricos especiais (classes ou estruturas) do tipo seguro sem ter que se comprometer com um tipo específico de dados em tempo de projeto.
Ao utilizar Generics o javac age como um corretor ortográfico. Ao escrever um código no qual existem erros na tipagem, o javac irá mostrar esses erros e pedir para você realizar a correção. Dependendo do erro, ele pode mostrar uma possível correção, mas nem sempre isso pode ocorrer.
As classes genéricas encapsulam operações que não são específicas de um determinado tipo de dados. O uso mais comum das classes genéricas é com coleções, como listas vinculadas, tabelas de hash, pilhas, filas, árvores e assim por diante.