String n = "a" + "f" + "ki";書上說"a", "f", "ki"都是常量? 但又沒加final修飾啊 怎么是常量呢?還有? ?字符串不是連接一次就創建一個對象嗎? ?那這應該創建了兩個對象啊? ? 書上卻說是一個? ?為什么呢??
1 回答

OneKi
TA貢獻75條經驗 獲得超45個贊
JAVA虛擬機首先在字符串池中查找是否已經存在了值為"a","f","ki"的這么一個對象,它的判斷依據是String類equals(Object obj)方法的返回值。如果有,則不再創建新的對象,直接返回已存在對象的引用;如果沒有,則先創建這個對象,然后把它加入到字符串池中,再將它的引用返回。
添加回答
舉報
0/150
提交
取消