Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = a;
int x = a[1];
b[0] = 9;
x = 7;
System.out.println(a[0] + " " + a[1]);
}
}9 2
- Ждать
1 2:int[] b = aкопирует только ссылку, поэтомуaиbведут к одному массиву, иb[0] = 9видно черезa. - Ждать, что
a[1]станет 7: элементint[]— этоint, иint x = a[1]копирует его значение, а не связь с ячейкой.
- Как сделать
bнезависимой копиейa? - Что станет с массивом вызывающего кода, если метод запишет в элемент своего параметра-массива?