一.string的值儲存在常量池的string pool中,屬於常量,不可變
二.
string str = new string("abcd");
在這個語句中,一共建立了兩個string物件,乙個是string pool中的"abcd",乙個是堆中的字串物件str
三.
string a = "abcd";
string b = "abcd";
string c = new string("abcd");
string d = new string("abcd");
system.out.println(a==b); //true
system.out.println(a.equals(b)); //true
system.out.println(a==c); //false
system.out.println(a.equals(c)); //true
system.out.println(c==d); //false
system.out.println(c.equals(d)); //true
上述**中,a b兩個物件是直接在棧中建立物件,並指向string pool中的"abcd",如果沒有"abcd",則建立"abcd"並指向它,故a==b,因為a b中的值均為"abcd",所以a.equal(b)為true;
而c首先在堆中建立乙個string物件c,然後指向string pool中的"abcd",如果沒有則建立並指向它,所以a c並不是同乙個物件,故a!=c,但由於其中的值均為"abcd",所以a.equal(c)為true;
同理,d在堆中又新建乙個string物件d,然後指向string pool中的"abcd",c d是堆中兩個不同的string物件,所以c!=d,可是他們的值都是"abcd",所以c.equal(d)為true。
做研究的入門(一)
本文完全是根據自己學習台灣成功大學陳美霞老師翻譯的 研究是一門藝術 感受而來,向作者 wayne c.booth gregory g.colomb joseph m.williams和譯者陳美霞老師表示敬意!建議大家看過之後,覺得有所啟發的話,去讀讀原著,會更有收穫 如果看了以後覺得不怎麼樣的話,實...
Java入門(4) 常見的String方法
考慮到api當中的解釋,新手可能有點看不懂 我剛開始就是不太看得懂 最好的學習方法當然是是自己乙個乙個去試一遍,然後就可以加深印象。然後,這是我當初學習的時候用自己的大白話做的筆記。現在查閱的話我還是喜歡看自己做的這些筆記。如果我有什麼理解錯誤的歡迎指出。substring 檢索字串中從第n 包含 ...
c 入門 string型別的常用方法
string a newstring aaa string b newstring aaa console.writeline a b 使用了new,他們將生成兩個不一樣的本體,但他們仍判斷內容 運算子的運算方式是可以修改的 string s1 hello string s2 s1 s1 world...