ExpertiDict

Java · Essencial · Inglês · Técnico

generics

/dʒəˈnɛrɪks/substantivo

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 cast

Exemplos

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

Veja também

Todos os termos de Java