Sobes.tech
Junior — Middle

Wat verhindert het gebruik van basisgegevens types in generieke parameters?

sobes.tech AI

Antwoord van AI

In Java worden generics geïmplementeerd met behulp van type erasure, wat betekent dat de informatie over de types van de generieke parameters niet beschikbaar is tijdens runtime.

Daarom kunnen primitieve types (int, boolean, etc.) niet als generieke parameters worden gebruikt, omdat ze geen objecten zijn en niet als klasse kunnen worden weergegeven.

Bijvoorbeeld, het is fout om te schrijven:

List<int> numbers; // Fout

In plaats daarvan moeten wrappers worden gebruikt:

List<Integer> numbers; // Correct

Dit komt doordat generics alleen werken met objecttypes, en primitieve types geen objecten zijn.