Sobes.tech
Junior — Middle

Cosa impedisce di usare tipi di dati di base nei parametri generici?

sobes.tech AI

Risposta dell'AI

In Java, le generics è implementato tramite l'eliminazione dei tipi (type erasure), il che significa che le informazioni sui tipi dei parametri generici non sono disponibili durante l'esecuzione.

Per questo motivo, non è possibile usare tipi primitivi (int, boolean, ecc.) come parametri generici, poiché non sono oggetti e non possono essere rappresentati come una classe.

Ad esempio, non si può scrivere:

List<int> numbers; // Errore

Al contrario, bisogna usare i wrapper:

List<Integer> numbers; // Corretto

Questo perché i generics funzionano solo con tipi di oggetti, e i primitivi non sono oggetti.