string str2 = new string("str")+new string("01");
str2.intern();
string str1 = "str01";
system.out.println(str2==str1);
在jdk 1.7下,當執行str2.intern();時,因為常量池中沒有「str01」這個字串,所以會在常量池中生成乙個對堆中的「str01」的引用(注意這裡是引用 ,就是這個區別於jdk 1.6的地方。在jdk1.6下是生成原字串的拷貝),而在進行string str1 = 「str01」;字面量賦值的時候,常量池中已經存在乙個引用,所以直接返回了該引用,因此str1和str2都指向堆中的同乙個字串,返回true。
string str2 = new string("str")+new string("01");
string str1 = "str01";
str2.intern();
system.out.println(str2==str1);
C 返回引用
關於c 中函式返回引用的討論 從函式返回引用 確保其引用的物件在函式執行完後仍然存在。引用型別返回值的主要特徵是可以作為左值,這意味著我們可以在賦值語句的左邊使用返回引用的函式的結果。永遠不要從函式中返回區域性變數的引用 c 中,返回引用是乙個比較晦澀的概念。在書中,對此僅僅做了乙個一般的介紹,並沒...
返回型別 》引用
1.何謂 引用 引用就是某個目標變數的 別名 alias 對應用的操作與對變數直接操作效果完全相同。申明乙個引用的時候,切記要對其進行初始化。引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,不能再把該引用名作為其他變數名的別名。宣告乙個引用,不是新定義了乙個變數,它只表示該引用名...
C 引用返回
還記得引用傳遞嗎?當時我們為了與按值傳參區分,我們把它叫做按址傳參。而今天我們將與引用返回區分。按值傳參和按址傳參可以參考部落格c 函式 二 的最後一部分。引用返回其實和引用傳遞一樣。引用傳遞使得傳入的變數和所對應引數的位址相同,而引用返回使得返回值的位址與傳給的變數的位址相同。我們先來看下面的 i...