我试图理解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!
如果字符串应该是不可变的,为什么会发生这种情况?我为什么能够重新分配一个值给字符串?
name = name + "!"
改变了原始的 name 变量的值。我仍然不理解。 - user2301187