【发布时间】:2013-06-26 23:53:51
【问题描述】:
String str1="JAVA";
String str2="JAVA";
String str3=new String("JAVA");
String str4=new String("JAVA").intern();
将创建 2 个对象。 str1 和 str2 引用相同的对象,因为字符串字面量池概念,str3 指向新对象,因为使用 new 运算符,str4 指向相同的对象,str1 和 str2 指向相同的对象,因为 @987654328 @ 方法在字符串池中检查具有相同值的字符串。
str1=str2=str3=str4=null;
一个对象将有资格进行 GC。也就是通过String str3=new String("JAVA")创建的对象。第一个 String 对象始终可以通过存储在字符串字面量池中的引用访问。
我的解释正确吗?
【问题讨论】: