1樓:匿名使用者
public string hello = ""; 建立了一個字串引用名稱,還建立了一個空字串物件,並且把這個空的字串物件,交給hello來引用。
public string hello = null; 只建立了一個字串的引用名稱,它的引用為空,表示它不引用任何的物件。
如果只是想宣告一個字串的引用名稱,第二種方式是比較合理的。因為第一種方式建立了一個物件,即使這個物件是空的。物件的產生是需要記憶體空間和時間的。第二種方式更節省資源。
2樓:新翼追風
hello = ""代表hello指向了"",""是空字串,也是字串
hello = null代表hello並沒有指向任何地方.
記憶體地址上有堆和棧的概念.在這個方面上去看,
hello = ""這樣計算機會在堆上建立一個hello,在棧上查詢"",如果找到了就讓hello指向"",如果找不到就新建一個(即呼叫hello = new string("")來建立).
hello = ""是於hello=new string("")不等價的
hello = null計算機只會在堆上建立一個hello,並沒有讓它指向任何地方,等價於hello = new string();
3樓:匿名使用者
public string hello = "";
在堆裡面已經分配了記憶體
public string hello = null;
只是在棧裡面有物件hello引用,而堆中還沒分配記憶體。
4樓:匿名使用者
public string hello = "";
空字串
hello = null;
表示為空
你system.out.println(hello);列印就知道了
String的問題,一個String的問題
string s1 abc 在記憶體中開闢了個空間,放入了一個值abc,把s1指向了這個空間string s2 abc 沒有再開個空間,而是把s2指向abc s1 s2 這裡判斷的是兩個變數的記憶體地址是否相同,並不是判斷他們的值是否相同equals判斷的是他們的值是否相同 說得不少了啊.真不錯啊....
在c 中怎麼將string型怎麼和int型互相轉換
string轉int string str 12345 int b atoi str.c str int轉string int n 65535 char t 256 string s sprintf t,d n s t 基本思想就是將string 和char 還有int聯絡起來,char 是他們之間...
C中的String和string有什麼區別?還有ref關鍵
在c 中,string指的是一個類 顏色是綠的 首字母大寫 而string是關鍵字 藍色字 他們表示的都是字串,沒有區別。ref通俗的講就是傳地址,傳入的引數若在方法中有變化,那麼在呼叫的地方也會跟著改變 不加此關鍵字的話,傳入的值就是一個複本而已。string 和 string 沒有區別 stri...