string name1 = "jim";
string name2 = "jim";
system.out.println(name1 == name2);//輸出結果為true,比較的是位址
上面為直接賦值,jim在常量池裡面,當定義name2時,先在常量池裡面找是否有jim,有的話則name1的位址直接給name2,他們兩個位址相同,如果沒有的話,則建立新的空間並將空間,並將空間位址賦給變數。
還有構造方法式
string name3 = new string("lucy");
string name4 = new string(""lucy);
system.out.pritln(name3 = name4);//輸出結果為false
每次建立乙個物件都會在堆中建立乙個新的空間並將其位址賦給變數,不會出現第一種相同位址的情況 String建立方式及其區別
1.直接賦值法 string name1 jie 這種方法值並不會出現在堆中,而是直接出現在常量池中,而且在再進行直接賦值時string name2 jie 會先在常量池中尋找所賦的值是否已經存在,若存在則使變數指向值的位址,則name1於name2的位址會相同,若值不存在,則會在常量池中開闢新的空...
String建立方式及其區別
對於string的建立有兩種方式,一是直接賦值,二是使用構造方法將其實例化 一 直接賦值 string str jim 執行這段 時,jvm會在常量池中開闢空間存放jim並讓str指向該空間 string str jim string str1 jim system.out.println str ...
執行緒及其建立的方式
執行緒主要發揮作用的時候 當乙個執行緒所執行的i o被阻塞的時候,同一程序中的其他執行緒可以使用cpu來進行計算。這樣,就提高了程式的執行效率。狀態 執行 就緒 等待被呼叫 阻塞 等待i o資源 兩種建立方法 繼承thread類,並override其中的run 方法 當乙個類沒有繼承其他類的時候,適...