我试图准确地理解 Java 字符串是如何不可变的。我知道这应该是一个简单的概念,但是在阅读了几个在线网页后,我仍然不太明白。
我不明白 Java 字符串是如何“不可变”的。我目前有以下代码:
public static void main(String[] args) {
String name = "Jacob Perkins";
System.out.println( name );
name = name + "!";
System.out.println( name );
}
我的输出如下:
Jacob Perkins
Jacob Perkins!
如果字符串应该是不可变的,为什么会发生这种情况?为什么我能够为字符串重新赋值?