我参考了以下链接
http://www.xyzws.com/Javafaq/what-is-string-literal-pool/3
还是有些疑惑,请帮帮我
`public class StrPool
{
public static void main(String[] args)
{
String abc="hello";
String abcd="hello";
System.out.println(abc==abcd);
}
}
`
在上面的例子中 OP : true
所以我们可以确认这两个对象都来自同一个 String 对象我很清楚。
`String abc="hello World";
String abcd="hello";
System.out.println(abc==abcd);`
这给出了输出:假
所以当两个字符串对象具有相同的字面量时执行字符串池???
如果那么两个字符串对象将在字符串池中创建?
为什么第二个输出是假的???
我读到 String 类是不可变的
abc
并且abcd
有不同的对象引用然后不可变意味着
“第一个字符串对象将由 JVM 创建,并提供两个对 abc 和 abcd 的引用 “我说得对吗?
非常感谢你........