Sobes.tech
Junior — Middle

Kun je elementen van verschillende datatypes toevoegen aan een HashSet-collectie?

sobes.tech AI

Antwoord van AI

In Java wordt de collectie van het type HashSet geparameteriseerd met een generiek, bijvoorbeeld HashSet<String> of HashSet<Object>. Als je HashSet<Object> declareert, kun je technisch gezien objecten van elk type toevoegen, omdat alle klassen in Java afstammen van Object.

Echter, als de collectie is geparameteriseerd met een specifiek type, bijvoorbeeld HashSet<String>, dan is het niet toegestaan om elementen van andere types toe te voegen — de compiler geeft een fout.

Voorbeeld:

HashSet<Object> set = new HashSet<>();
set.add("string");
set.add(123); // toegestaan

HashSet<String> stringSet = new HashSet<>();
stringSet.add("tekst");
// stringSet.add(123); // compileerfout

Dus, het is mogelijk om elementen van verschillende types toe te voegen als de collectie is gedeclareerd met het type Object of zonder parametrisatie (wat niet wordt aanbevolen). Maar meestal worden specifieke types gebruikt voor typeveiligheid.

Kun je elementen van verschillende datatypes… - sobes.tech