Leg uit wat het concept van referentietypen in Java is en waarin ze verschillen van primitieve typen.
sobes.tech AI
Antwoord van AI
In Java zijn er twee hoofdtypen gegevens: primitieve en referentietypen.
Primitieve typen (bijvoorbeeld int, boolean, double) slaan direct de waarden op. Ze nemen een vaste hoeveelheid geheugen in beslag en worden per waarde doorgegeven. Bijvoorbeeld, bij het toewijzen van de ene variabele aan een andere wordt de waarde zelf gekopieerd.
Referentietypen zijn objecten en arrays. Een referentietype variabele slaat niet de waarde van het object zelf op, maar een verwijzing (adres) naar het geheugen waar het object zich bevindt. Bij het toewijzen van een referentietype variabele aan een andere wordt de verwijzing gekopieerd, niet het object. Dit betekent dat beide variabelen naar hetzelfde object wijzen.
Voorbeeld:
int a = 5;
int b = a; // kopieert de waarde 5
b = 10; // a blijft 5
String s1 = new String("hello");
String s2 = s1; // kopieert de verwijzing naar het object
s2 = "world"; // s1 blijft "hello", omdat String onveranderlijk is
Dus, het belangrijkste verschil ligt in de manier van opslag en overdracht van gegevens: primitieve typen slaan waarden direct op, referentietypen slaan verwijzingen naar objecten in het geheugen.