Изменение размера массива невозможно, насколько я могу судить.
Чтобы понять, почему ваш код работает, вам необходимо понять, что массивы являются ссылочными типами. arr
держит ссылку на фактический массив, как это:
holds points to
arr ----------> reference -----------> array object
В этой строке:
arr=new int[2];
Вы не делаете ничего, чтобы объект массива в самом конце там. Вы в основном говорите:
Адрес: arr
. Я не хочу, чтобы вы держали , что ссылка. Отпустите и удерживайте этой ссылкой (это массив длиной 2)!
«Что происходит с исходным массивом с длиной 1, то?» Ты спрашивал. Именно здесь GC появляется. В какой-то момент собираются объекты, у которых нет ссылки, указывающей на.
'reassign'! =' Resize'. – SomeJavaGuy
Это создает и присваивает новый массив, не изменяя размер массива. – RealSkeptic
SO не является новичком-учебником по Java. Я рекомендую вам прочитать [this] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html) – Paul