Java · Essencial · Inglês · Técnico
generics
Recurso que permite classes e métodos com parâmetros de tipo, como List<String>, dando segurança de tipos na compilação sem casts manuais.
Onde usar
Aparece em coleções e em erros como 'incompatible types'. Em review: 'evite raw types'.
Em código
class Caixa<T> {
private T item;
void guardar(T item) { this.item = item; }
T abrir() { return item; }
}
var c = new Caixa<String>();
c.guardar("a");
String s = c.abrir(); // sem castExemplos
Generics catch the wrong type at compile time.
Os generics pegam o tipo errado em tempo de compilação.
You can't create an instance of T with generics.
Você não pode criar uma instância de T com generics.
Cuidado
Generics só existem na compilação; em execução o tipo é apagado, então não dá para fazer new T() nem instanceof List<String> em um Object.
Sinônimos
tipos genéricos
Antônimos
raw type