Строка неизменяема. В чем именно смысл? [дубликат]

На этот вопрос уже есть ответ здесь:

Я написал следующий код для неизменяемых строк.

public class ImmutableStrings {

    public static void main(String[] args) {
        testmethod();
    }

    private static void testmethod() {
        String a = "a";
        System.out.println("a 1-->" + a);
        a = "ty";
        System.out.println("a 2-->" + a);
    }
}

Вывод:

a 1-->a  
a 2-->ty

Здесь значение переменной a было изменено (хотя многие говорят, что содержимое неизменяемых объектов не может быть изменено). Но что именно означает, когда говорят String неизменяемо ? Не могли бы вы прояснить мне эту тему?

источник: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

194
задан Narbhakshi 31 August 2015 в 22:25
поделиться