「 」與 equals 方法的區別

2021-07-28 01:33:01 字數 319 閱讀 3115

「==」比較的是棧記憶體中兩個引用(reference)在堆記憶體中的物件的記憶體位址值。

equals 用於自定義比較法則,一般情況下,多用於比較兩個物件值的大小。在 object 類中,「==」與 equals 方法的作用完全相同,equals 方法體內就是「==」。

這是 object 中有關 equals 方法的源**:

public

boolean

equals(object obj)

我們所熟悉的 string 、integer 就重寫了 object 類中的 equals 方法,用於比較字面值。

equals方法與 號的區別

操作符,是比較變數的值是否相等 記憶體位址也要相等 不涉及物件內容的比較 equals 方法,是比較物件的內容是否相等 不涉及記憶體位址的比較,如果是自己建立的類就必須重寫 equals 方法,創造者來決定 equals 的判斷標準 例如 string s1 new string foo strin...

C 中 與Equals方法的區別

usingsystem using system.collections.generic using system.linq using system.text set public person string name class program string b new string new c...

C 中 與Equals方法的區別

輸出結果 true true false true false false true true 總結如下 1 對於值型別,和equals等價,都是比較儲存資訊的內容。2 對於引用型別,比較的是引用型別在棧中的位址,equals方法則比較的是引用型別在託管堆中的儲存資訊的內容。3 對於string類要...