1. 程式人生 > >"=="和equals方法究竟有什麼區別?

"=="和equals方法究竟有什麼區別?

在object根類的原始碼中,equals方法本質上就是==,==表示比較兩個基本型別的資料或者兩個引用變數的地址值是否相等,在實際開發中,我們需要知道引用型別變數的內容是否相等,這時需要在類中重寫equals方法,像jdk的類一般都重寫了equals方法,如果是自定義的類,需要自己重寫.重寫equals方法時一般都要重寫hashCode方法,如果不重寫hashCode方法,hashSet就不能保證存入值的唯一性,hashMap和hashTable就不能保證存入鍵的唯一性.