public static void main(String[] args) {
String str1 = "I love Java";
String str2 = str1;
System.out.println(str2);
str1 = "I love Python";
System.out.println(str2);
}
пример из этой статьи: https://javarush.com/groups/posts/1946-neizmennoe-v-java-final-konstantih-i-immutable
не понял пример... в какой ситуации вообще может поменяться переменная 2 (без изменения порядка присвоения), если мы меняем переменную 1? мы же не меняем значение в переменной 2... и причём тут immutable... в String Pool создалась просто другая ссылка на новую стрингу...
для наглядности пример с примитивными переменными, результат разумеется тот же:
int a = 0;
int b = a;
System.out.println(b);
a = 1;
System.out.println(b);