Junior — Middle
75
Как отличить базовые типы данных от ссылочных объектов в языке программирования?
Компании, где спрашивали
Viasat tech
Ответ от нейросети
sobes.tech 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 неизменяемый)
Таким образом, базовые типы хранят данные напрямую, а ссылочные — через указатель на объект в памяти.