03 字串 基礎

2021-08-31 13:14:26 字數 1230 閱讀 8069

1.string s = new string("abc");//此時記憶體有兩個物件:stringpool裡"abc",堆空間:new string("abc")

string s1 = "abc";//因stringpool裡已經有「abc」物件,所以不會再產生,此時記憶體有兩個物件

string s2 = new string("abc");//堆空間會新增乙個物件,此時記憶體有3個物件

2.system.out.println(s == s1);//==比較的是兩個物件的記憶體位址 false

system.out.println(s == s2);//false

system.out.println(s1 == s2);//-------doc 1//false

3.首先檢視stringpool裡是不是有乙個和s內容相等的字串,如果有,則返回strigpool裡的這個字串

//如果沒有,則將字串s新增到stringpool裡,並返回乙個對s的引用

返回的永遠是stringpool裡的字串

system.out.println(s == s.intern());//false

system.out.println(s1 == s1.intern());//true

system.out.println(s2 == s2.intern());//false---doc 2

string sitern = "ok";

system.out.println(sitern == sitern.intern());//true

4.string hello = "hello";

string hel = "hel";

string lo = "lo";

//兩個字串進行加號連線時,連線完後,首先會到stringpool裡檢視有沒有和自己內容相等的字串

//如果有,如果有則返回stringpool裡的字串,沒有,則將自己新增進stringpool,並返回對自己引用

//stringpool(datasegment儲存空間)裡永遠只有乙個內容相等的字串

system.out.println(hello == "hel"+"lo");//true

//"hel"+lo,+號連線時如果其中有乙個不是字面的字串常量,則會在堆裡產生乙個物件

system.out.println(hello == "hel"+lo);//false

system.out.println("hel"+lo);

字串 03 字串的氣泡排序 20

時間限制 400 ms 記憶體限制 32000 kb 長度限制 8000 b 判題程式 standard 作者 陳越 浙江大學 我們已經知道了將n個整數按從小到大排序的氣泡排序法。本題要求將此方法用於字串序列,並對任意給定的k 輸入格式 輸入在第1行中給出n和k 1 k輸出格式 輸出氣泡排序法掃瞄完...

字串 03 字串的氣泡排序 20

我們已經知道了將n個整數按從小到大排序的氣泡排序法。本題要求將此方法用於字串序列,並對任意給定的k 輸入格式 輸入在第1行中給出n和k 1 k輸出格式 輸出氣泡排序法掃瞄完第k遍後的中間結果序列,每行包含乙個字串。輸入樣例 6 2 best cateast afree day輸出樣例 best ac...

02字串的練習(03)

using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 字串練習 第二種方法 將字串轉換為字元陣列,再將字元陣列轉...