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.