Junior — Middle
118
Care este diferența principală dintre un array ca tip de date referențial și tipurile primitive?
Răspuns de la AI
sobes.tech AI
Основное отличие массива как ссылочного типа данных от примитивных типов в Java заключается в том, что массивы хранятся в куче и переменная массива содержит ссылку на область памяти, где лежат элементы. Примитивные типы (int, boolean, char и т.д.) хранятся непосредственно в переменной (например, в стеке), а не по ссылке.
Это означает:
- При присваивании массива копируется ссылка, а не сами данные.
- Массивы могут иметь динамический размер (хотя размер фиксирован после создания), а примитивы — отдельные значения.
- Массивы могут содержать примитивы или объекты, но сами являются объектами.
Пример:
int a = 5;
int b = a; // копируется значение 5
b = 10;
// a останется 5
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1; // копируется ссылка
arr2[0] = 10;
// arr1[0] тоже станет 10, так как arr1 и arr2 ссылаются на один массив