Sobes.tech
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.