Я пытаюсь понять, как строки Java неизменяемы. Я понимаю, что это, вероятно, будет простой концепцией, но после прочтения нескольких онлайн-страниц я до сих пор не совсем понимаю.
Я не понимаю, как Java Strings являются "неизменными". В настоящее время у меня есть следующий код:
public static void main(String[] args) {
String name = "Jacob Perkins";
System.out.println( name );
name = name + "!";
System.out.println( name );
}
Мой вывод следующий:
Jacob Perkins
Jacob Perkins!
Почему это происходит, если строка должна быть неизменной? Почему я могу повторно назначить значение для строки?