和equals有什麼區別

2021-09-01 13:17:37 字數 490 閱讀 9048

==分為兩種情況: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...