Sobes.tech
Junior — Middle

O que impede o uso de tipos de dados básicos em parâmetros genéricos?

sobes.tech IA

Resposta da IA

No Java, as genéricas são implementadas usando eliminação de tipos (type erasure), o que significa que a informação sobre os tipos dos parâmetros genéricos não está disponível em tempo de execução.

Por isso, não é possível usar tipos primitivos (int, boolean, etc.) como parâmetros genéricos, pois eles não são objetos e não podem ser representados como uma classe.

Por exemplo, não se pode escrever:

List<int> numbers; // Erro

Em vez disso, deve-se usar wrappers:

List<Integer> numbers; // Correto

Isso ocorre porque as genéricas funcionam apenas com tipos de objetos, e os primitivos não são objetos.