String類物件的兩種建立方式及不同

2021-09-25 20:41:50 字數 773 閱讀 7415

第一種方式是直接賦值,像如下**:

public class home 

}

但這種建立方式有乙個特點就是賦的字串被存放到了堆中的乙個叫常量池的地方,它特殊就特殊在,當jvm建立字串物件前,會先去常量池中找有沒有乙個字串內容與當前字串相同。如果有,直接將已有的位址賦值給變數;如果沒有,建立新的字串,也就是說上面的**在記憶體中的示意圖是這樣的:

所以使用等號來比較name1和name2時執行結果會是true:

其中:等號的比較機制見部落格:等號「==」的比較機制

第二種方式是用new來呼叫構造方法建立,**如下:

public class home 

}

而用new建立物件和直接賦值不同,每使用一次new就會建立乙個新物件,所以在記憶體中的示意圖應該是這樣的:

兩種建立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類物件的兩種例項化方式

幾乎所有專案開發之中一定會有string類的使用,但是string本身的定義是一些差別,以及在使用上是有一些注意事項 string類的兩種物件例項化模式 在之前曾經強調過,string可以直接採用賦值的形式進行處理,這一點感覺上和基本資料型別是非常像是的。範例 直接賦值例項化物件 public cl...