String str=new String("abc") 在內存中怎樣分配

String str = new String("abc"); 
String str = "abc"; 
兩種的形式來創建,第一種是用new()來新建對象的,它會在存放於堆中。每調用一次就會創建一個新的對象。 
而第二種是先在棧中創建一個對String類的對象引用變量str,然後查找棧中有沒有存放"abc",如果沒有,則將"abc"存放進棧,並令str指向”abc”,如果已經有”abc” 則直接令str指向“abc”。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章