Criar uma classe genérica em java
UMA classe genérica
Conteúdo
Para criar uma classe genérica, você listar o tipo de parâmetro após o nome da classe no ângulo entre parênteses. O parâmetro de tipo especifica um nome que você pode usar em toda a classe em qualquer lugar que você de outra forma usar um tipo. Por exemplo, aqui está uma versão simplificada do classe declaração para o ArrayList classe:
ArrayList classe pública
Eu deixei de fora a estende e implementos cláusulas para se concentrar no tipo de parâmetro formal:
Video: Java- Exemplo de Classes, Objetos e Métodos
Para criar uma instância de uma classe genérica, você deve fornecer o tipo real que será usado no lugar do parâmetro de tipo, como este:
ArrayListmyArrayList-
Aqui o E parâmetro é Corda, de modo que o tipo de elemento para este exemplo do ArrayList classe é Corda.
Agora olhe para a declaração para a adicionar método para o ArrayList classe:
public boolean add (E o) {// corpo do método omitido (obrigado)}
Onde você normalmente espera para ver um tipo de parâmetro, você vê a letra E. Assim, esta declaração de método especifica que o tipo para o parâmetro o é o tipo especificado para o tipo de parâmetro formal, E. E se E é Corda, a adicionar método aceita apenas Corda objetos. Se você chamar o adicionar método passando outra coisa senão um Corda parâmetro, o compilador irá gerar uma mensagem de erro.
Video: Tipos Genéricos em Java (Generics)
Você também pode usar um parâmetro de tipo como um tipo de retorno. Aqui está a declaração para a ArrayList classe obter método:
E pública get (int index) {// corpo do método omitido (você é bem-vindo)}
Aqui, E é especificado como o tipo de retorno. Isso significa que se E é Corda, esse método retorna Corda objetos.
Video: Criando um DAO Generico
A principal vantagem dos genéricos é que tipo de verificação acontece em tempo de compilação. Assim, depois de especificar o valor de um parâmetro de tipo formal, o compilador sabe como fazer a verificação de tipo implícito no parâmetro. É assim que não sabe para que você adicione Corda objetos para um Empregado coleção.