一、string str = "abc";
這種方式在堆區開闢空間,「abc」儲存在字串池中,在棧區建立變數str指向「abc」,當我們再次建立變數
string str1 = 「abc」時,jvm會到字串池中尋找「abc」,找到後將引用賦值給str1,不會再次開闢空間建立「abc」;
二、string str = new string("abc");
這種方式首先在堆區開闢空間儲存「abc」,然後再在堆區開闢空間建立字串的物件,將「abc」賦值給字串物件,最後將物件的引用賦值給str變數,當我們再次建立變數string str1 = 「abc」時,jvm會重複執行前面的動作;
第二種方法很耗記憶體,且執行速度慢,一般情況下採用第一種方法,不允許採用第二種方法。
兩種建立String物件的區別
建立string物件,我們可以用兩種方式 1,string s new string victory 2,string s victory 那麼這兩種方式的區別是?先看乙個程式 string s1,s2 s1 new string we are students s2 new string we a...
String建立物件的兩種方式
用string建立物件有兩種方式 第一種為直接賦值,string 物件名 字串 例如 string name tom 第二種為new構造方法,string 物件名 new string 字串 例如string name new string tom public class test 執行結果為tu...
String類物件的兩種建立方式及不同
第一種方式是直接賦值,像如下 public class home 但這種建立方式有乙個特點就是賦的字串被存放到了堆中的乙個叫常量池的地方,它特殊就特殊在,當jvm建立字串物件前,會先去常量池中找有沒有乙個字串內容與當前字串相同。如果有,直接將已有的位址賦值給變數 如果沒有,建立新的字串,也就是說上面...