Java - ссылки на строки и массивы
Я только начал изучать Java и увидел, что и строка, и массив являются ссылочными типами. Я не понимаю следующую проблему:
String a = "a1";
String b = "a2";
a=b;
a = "rrr";
System.out.println(a);
System.out.println(b);
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
arr2[0]= 19;
System.out.println(arr1[0]);
Когда я печатаю это, я получаю:"rrr" "a2" 10
при использовании массивов - я понимаю, что они оба указывают на один и тот же объект, поэтому, если я изменяю ячейку - я вижу разницу как в arr1, так и в arr2.
что касается "строки" - из моего понимания, когда я делаю: a = b это не должно быть: "пустьa
указать на тот же объект, что иb
указывает "- имеется в виду, если я изменю, что они оба должны также быть изменены?
Спасибо!!