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 указывает "- имеется в виду, если я изменю, что они оба должны также быть изменены?

Спасибо!!

Ответы на вопрос(4)

Ваш ответ на вопрос