Generics
Java Collections - Generics
Generics é uma funcionalidade incorporada ao Java a partir da versão 5.0, permitindo aos programadores escreverem métodos genéricos. Os parâmetros dos métodos, variáveis locais e o tipo de retorno podem ser definidos na chamada do método e possibilita ao mesmo método ser invocado usando-se tipos distintos (sem precisar sobrescrevê-lo). Permite também a definição de classes genéricas onde os atributos da classe podem ser definidos no momento da instanciação do objeto. Generics em Java oferece os mesmos recursos dos Templates em C++.
Quais são os benefícios quando se utiliza o recurso de generics em uma coleção?
- Segurança que os elementos adicionados serão sempre do mesmo do tipo
- Garantia que os elementos que serão obtidos também serão do mesmo
- Evita criar sobrecarga de métodos para atender a variação dos possíveis tipos de elementos
Conforme imagem abaixo, iremos ilustrar a aplicabilidade de generics em uma fábrica que confecciona engradados de refrigerante.
import java.util.ArrayList;
import java.util.List;
public class SemGenerics {
public static void main(String[] args) {
List engradado01 = new ArrayList();
engradado01.add(new CocaCola());
engradado01.add(new FantaLaranja());
for(Object item: engradado01){
System.out.println("Este item é uma coca-cola ou fanta laranja? " + item.getClass().getSimpleName());
}
}
}
class CocaCola{ }
class FantaLaranja{}