Criar uma classe genérica em Java

UMA classe genérica em Java é uma classe que pode operar em um tipo específico especificado pelo programador em tempo de compilação. Para conseguir isso, os usos de definição de classe parâmetro de tiposque atuam como variáveis ​​que representam os tipos (tais como int ou Corda).

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 todo o class qualquer lugar que gostaria de outra forma utilizar um tipo. Por exemplo, aqui está uma versão simplificada do classe para a declaração ArrayList classe:

ArrayList classe pública 

Eu deixei de fora a estende-se e implementos cláusulas para se concentrar no tipo de parâmetro formal: a. o E parâmetro especifica o tipo de elementos que são armazenados na lista.

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:

ArrayList myArrayList-

aqui o E parâmetro é Corda, de modo que o tipo de elemento para essa instância 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 objectos. Se você chamar o adicionar método de passar outra coisa senão um Corda parâmetro, o compilador gerará uma mensagem de erro.

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 objectos.

O principal benefício de 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.

menu