Sobes.tech
Junior — Middle

Explique o conceito de eliminação de tipos e qual é o seu principal propósito na programação.

sobes.tech IA

Resposta da IA

O apagamento de tipos é um mecanismo em Java que é utilizado ao trabalhar com genéricos. Durante a compilação, as informações sobre os tipos dos parâmetros genéricos são removidas (apagadas), e no bytecode compilado, os tipos são substituídos pelo seu tipo superior restrito (geralmente Object).

O principal objetivo do apagamento de tipos:

  • Garantir compatibilidade retroativa com o código escrito antes do surgimento dos genéricos.
  • Permitir o uso de genéricos sem modificar a JVM.

Exemplo:

List<String> list = new ArrayList<>();
// Durante a compilação, isso se transforma aproximadamente em:
List list = new ArrayList();

Por isso, por exemplo, não é possível criar arrays de tipos parametrizados ou usar instanceof com tipos parametrizados diretamente.