создание элементов пустого указателя массива

действительно ли эти два являются тем же самым?

for(int i=0; i<array.length; i++){
array[i] = null;
}

и

array = null;
7
задан sth 3 February 2010 в 05:21
поделиться

4 ответа

Небольшой фрагмент, чтобы показать разницу:

// declare a array variable that can hold a reference.
String [] array;

// make it null, to indicate it does not refer anything.
array = null;

// at this point there is just a array var initialized to null but no actual array.

// now allocate an array.
array = new String[3];

// now make the individual array elements null..although they already are null.
for(int i=0;i<array.length;i++)
{
    array[i] = null;
}
// at this point we have a array variable, holding reference to an array, 
// whose individual elements are null.
17
ответ дан 6 December 2019 в 05:55
поделиться

Нет, это не то же самое.

Фактически, для правильного выполнения первого фрагмента кода переменная массива должна быть объявлена ​​и инициализирована следующим образом (например)

Object[] array = new Object[5];

Это создает массив из 5 элементов, каждый из которых имеет значение значение null .

Получив это, в первом примере вы присваиваете нулевое значение каждому из элементов array [i] . массив не будет нулевым . Итак, у вас должно получиться что-то вроде этого.

массив ->

  • массив [0] -> нулевой
  • массив [1] -> нулевой
  • массив [2] -> нулевой
  • массив [3] -> нулевой
  • массив [4] -> null

Выполняя array = null , вы говорите, что массив больше не ссылается на этот массив элементов. Теперь у вас должен быть массив

-> null

5
ответ дан 6 December 2019 в 05:55
поделиться

Вовсе нет.

В первом случае вы устанавливаете для всех ссылок в вашем массиве значение NULL.

Во втором случае вы устанавливаете для самой ссылки на сам массив значение null.

0
ответ дан 6 December 2019 в 05:55
поделиться

Нет, первый делает каждый элемент массива нулевым, длина массива по-прежнему будет array.length, вторая установит переменную массива обнулить.

8
ответ дан 6 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: