如果我在 Java 中有一个完全空的字符串池并执行以下操作,是否将字符串对象“Hello”添加到字符串池中。?
String myStr = new String('Hello');
我知道后续调用 new String('Hello'); 将创建一个新的字符串对象但不会将其添加到池中,但是如果“Hello”尚未在池中,那么第一次呢?
编辑:基本上,我需要知道为什么以下打印错误:
String myStr = new String("Hello");
print(myStr=="Hello");
如果,在第一次调用时, new String("Hello"); 将 Hello 添加到池中。然后在比较代码中,我们将池驻留对象“Hello”与文字“Hello”(== 右侧)进行比较。因此,== 的左侧不是指向与右侧相同的对象(在池中)吗?