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.