public class RuntimeConstantPoolOOM{
public static void main(String[]args){
public static void main(String[]args){
String str1=new StringBuilder("计算机").append("软件").toString();
System.out.println(str1.intern()==str1);
String str2=new StringBuilder("ja").append("va").toString();
System.out.println(str2.intern()==str2);
}
}
}书中说因为“java”这个字符串在执行StringBuilder.toString()之前已经出现过字符串
常量池中已经有它的引用了,不符合“首次出现”的原则,而“计算机软件”这个字符串则是首
次出现的,因此返回true为什么java是已经出现,计算机软件是首次出现。不太明白
3 回答
添加回答
举报
0/150
提交
取消