На этот вопрос уже есть ответ здесь:
Я написал следующий код для неизменяемых строк.
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