string類的兩種類的例項化模式,可以直接使用賦值例項化物件
第一種:string str = "hello"; // 直接賦值
string str1 = "hello";
string str1 = "hello";
string str1 = "hello";
system.out.println(str1 == str2); // true
system.out.println(str1 == str3); // true
system.out.println(str2 == str3); // true
string 類的設計使用了共享設計模式,在jvm的底層會自動維護乙個物件池(字串物件池),如果採用直接賦值的方式進行例項化操作,該內容將自動儲存到物件池當中,下次採用直接賦值方式例項化操作,如果物件池中具有指定的內容,將直接進行使用,如果沒有,則開闢新的字串。而後將其儲存在物件池中以供下次使用。
第二種:string str = new string("hello"); // 構造方法例項化物件 string 類本身具有構造方法,通過構造方法例項化物件
將產生兩塊堆記憶體空間,其中一塊將成為垃圾空間
string str1 = new string ("hello").intern()(手工入池);
string str2 = "hello";
system.out.println(str1 == str2); // true
直接賦值:只會開闢一塊堆記憶體空間,並且該字串物件可以儲存在物件池中以供下次使用
構造方法:會開闢兩塊堆記憶體空間,一塊將成為垃圾,並且不會儲存在物件池中。
字串相等比較
string str1 = "hello";
string str2 = new string ("hello");
內容比較
public boolean equals(string str)
"=="進行數值的比較,比較的是記憶體位址的數值;
equals()可以進行字串內容的比較;
1.字串的使用就採用直接賦值的模式完成
2.字串的比較就使用equals()方法實現
3.字串沒事別改變太多
String類物件的兩種例項化方式
幾乎所有專案開發之中一定會有string類的使用,但是string本身的定義是一些差別,以及在使用上是有一些注意事項 string類的兩種物件例項化模式 在之前曾經強調過,string可以直接採用賦值的形式進行處理,這一點感覺上和基本資料型別是非常像是的。範例 直接賦值例項化物件 public cl...
String類的特點
1 了解string類 1.string類是被final修飾的,是不能被繼承的 2.string類底層使用陣列結構 jdk9以前使用的是char jdk9以後使用的是byte 3.string的物件一旦建立就不能修改 底層維護了乙個字串常量池,實現共享 注意 string類的物件每次修改都會產生乙個...
元組 特點 建立的兩種方式
元素tuple 列表屬於可變型別,可以任意修改列表中的元素。元組屬於不可變序列,不能修改元組中的元素。因此,元組沒有增加元素 修改元素 刪除元素相關的方法。因此,只需要學習元組的建立和刪除,元組中元素的訪問和計數即可。元組支援如下操作 索引訪問 切片操作 鏈結操作 成員關係操作 比較運算操作 計數 ...