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 字串練習 第二種方法 將字串轉換為字元陣列,再將字元陣列轉...