==分為兩種情況:1.比較的型別是基本資料型別時,只比較他們的值是否相等。
2.比較型別為引用型別時,比較的是引用變數的記憶體位址是否相同。
equals:1.對於普通物件來說,equals()函式原始碼就是實現==,所以就是比較引用是否相同。(基本型別沒有equals方法)
2.對於string來說,就是比較值是否相等,其原始碼重寫了equals()方法,具體如下,其先比較是否是同乙個物件(引用),如果是,不需要比較,如果不是,則判斷比較的值是否是string型別,如果不等,不需要比較(一定不相等),如果是string型別,則比較兩個字串長度是否相等,如果不等,不需要比較(一定不相等),如果相等再一一比較字元是否相同。
public boolean equals(object anobject)if (anobject instanceof string)
return true;}}
return false;
}
c 與equals有什麼區別
對於值型別 引用型別來說比較過程怎樣的?using system using system.collections.generic using system.text set public person string name class program string b new string ne...
C 中的 和 equals 有什麼區別?
如以下 12 3456 789intage 25 short newage 25 console.writeline age newage true console.writeline newage.equals age false console.readline int和short為原始型別,但...
c 中 與equals有什麼區別
對於值型別 引用型別來說比較過程怎樣的?using system using system.collections.generic using system.text set public person string name class program string b new string ne...