Junior — Middle
Как да различим основните типове данни от референтните обекти в езика за програмиране?
sobes.tech AI
Отговор от AI
В езици за програмиране основните типове данни (примитиви) и референтните обекти се различават по начина на съхранение и предаване на данните.
- Основните типове данни (например, int, float, boolean в Java/Android) се съхраняват в стека и съдържат директно стойността. При предаване на променлива, самата стойност се копира.
- Референтните обекти (например, обекти на класове) се съхраняват в купчината, а в променливата се държи референция (указател) към обекта. При предаване, се копира само референцията, не самият обект.
Пример:
int a = 5;
int b = a; // копира стойността 5
b = 10;
// a все още е 5
String s1 = new String("hello");
String s2 = s1; // копира референцията към обекта
s2 = "world";
// s1 все още е "hello" (String в Java е неизменяем)
По този начин, основните типове съхраняват данните директно, а референтните — чрез указател към обекта в паметта.