也談equals與==

equals相等,==也是表示相等,在不少書籍裏面,推薦使用equals不推薦使用==,對象

在C#中相等型可分爲兩類,值相等性和引用相等型,若是比較兩個值類型數據相等就是值相等性,比較引用類型相等就是引用相等性。內存

對於引用類型相等,指的是應用類型所指向對象的地址相等則爲引用相等性string

然而咱們在常常寫實體類的實例化時會有這樣的情形書籍

Class A=new Class (){intValue=1,stringvalue="aaaa"}引用

Class B=new Class(){intValue=1stringvalue="aaaa"} 方法

實體類A,B所指向內存地址不一樣,可是實體類內的值相等,若是此時咱們用equals或者==去判斷的話返回就是爲false,可是此時實體類內部值數據是相等的,遇到這樣的狀況equals方法做用就來了數據

重寫equals方法,判斷內部值相等則兩個實體類相等。new

相關文章
相關標籤/搜索