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
提交
取消