我学习Java字符串已有一段时间了。以下问题基于以下帖子
Java String是Java中String的特殊
不变性
不可变性:现在,通过不可变性,已经设计了String类,以便可以在其他位置/变量中重用公共池中的值。如果将的
String
创建为String a = "Hello World!";
但是,如果我创建像String b = new String("Hello World!");
为什么这也是不变的?(或者是?)。由于它具有专用的堆内存,因此我应该能够在不影响任何其他变量的情况下对其进行修改。因此,从设计String
的角度来看,还有其他原因为什么整体上是不变的?还是我的上述假设错了?我想问的第二件事是关于通用字符串池的信息。如果我创建一个字符串对象为
String c = "";
在池中创建一个空条目?
这些上已经有帖子了吗?如果是这样,有人可以共享链接吗?