Sobes.tech
Junior — Middle

Jak rozlišit základní datové typy od referenčních objektů v programovacím jazyce?

sobes.tech AI

Odpověď od AI

V programovacích jazycích se základní datové typy (primitivní) a referenční objekty liší způsobem ukládání a přenosu dat.

  • Základní datové typy (například int, float, boolean v Java/Android) jsou uloženy na zásobníku a přímo obsahují hodnotu. Při předání proměnné se kopíruje samotná hodnota.
  • Referenční objekty (například objekty tříd) jsou uloženy na haldě a v proměnné je uložena reference (ukazatel) na objekt. Při předání se kopíruje pouze reference, nikoli samotný objekt.

Příklad:

int a = 5;
int b = a; // kopíruje hodnotu 5
b = 10;
// a stále je 5

String s1 = new String("hello");
String s2 = s1; // kopíruje referenci na objekt
s2 = "world";
// s1 stále je "hello" (String v Java je neměnný)

Tímto způsobem základní typy přímo ukládají data, zatímco referenční objekty to dělají přes ukazatel na objekt v paměti.