Junior — Middle
Hogyan különböztetjük meg az alapvető adattípusokat a referenciaobjektumoktól egy programozási nyelvben?
sobes.tech MI
Válasz az MI-től
A programozási nyelvekben az alapvető adattípusok (primitívek) és a referencia típusú objektumok eltérnek az adatok tárolási és továbbítási módjában.
- Alapvető adattípusok (például int, float, boolean Java/Android-ban) a veremben tárolódnak, és közvetlenül tartalmazzák az értéket. Egy változó átadásakor maga az érték másolódik.
- Referencia típusú objektumok (például osztályobjektumok) a heap-en tárolódnak, és a változó egy referencia (mutató) az objektumra. Átadáskor csak a referencia másolódik, nem az objektum maga.
Példa:
int a = 5;
int b = a; // a 5 érték másolódik
b = 10;
// az a még mindig 5
String s1 = new String("hello");
String s2 = s1; // a referencia másolódik az objektumra
s2 = "world";
// az s1 még mindig "hello" (Java-ban a String immutábilis)
Így a alapvető típusok közvetlenül tárolják az adatokat, míg a referencia típusú objektumok a memória egy objektumára mutató pointeren keresztül.