String類的基本特點 兩種例項化方法

2022-08-15 03:09:14 字數 1120 閱讀 6888

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 列表屬於可變型別,可以任意修改列表中的元素。元組屬於不可變序列,不能修改元組中的元素。因此,元組沒有增加元素 修改元素 刪除元素相關的方法。因此,只需要學習元組的建立和刪除,元組中元素的訪問和計數即可。元組支援如下操作 索引訪問 切片操作 鏈結操作 成員關係操作 比較運算操作 計數 ...