1. 程式人生 > >hashcode()與equals()方法(第8周)

hashcode()與equals()方法(第8周)

-s 等價 html 操作 == .html 是什麽 tro 返回

一:equals()的作用

  equals() 的作用是用來判斷兩個對象是否相等。equals() 定義在JDK的Object.java中,通過判斷兩個對象的地址是否相等(即,是否是同一個對象)來區分它們是否相等。

二:equals() 與 == 的區別是什麽?

  == : 它的作用是判斷兩個對象的地址是不是相等即,判斷兩個對象是不是同一個對象。

  equals() : 它的作用也是判斷兩個對象是否相等但它一般有兩種使用情況:
情況1,類沒有覆蓋equals()方法。則通過equals()比較該類的兩個對象時,等價於通過“==”比較這兩個對象。
情況2,類覆蓋了equals()方法。一般,我們都覆蓋equals()方法來兩個對象的內容相等;若它們的內容相等,則返回true(即,認為這兩個對象相等)。

: hashCode() 的作用

hashCode() 的作用是獲取哈希碼,也稱為散列碼;它實際上是返回一個int整數。這個哈希碼的作用是確定該對象在哈希表中的索引位置。

四: hashCode() 和 equals() 的關系

  • 在程序執行期間,只要equals方法的比較操作用到的信息沒有被修改,那麽對這同一個對象調用多次,hashCode方法必須始終如一地返回同一個整數。
  • 如果兩個對象根據equals方法比較是相等的,那麽調用兩個對象的hashCode方法必須返回相同的整數結果。
  • 如果兩個對象根據equals方法比較是不等的,則hashCode方法不一定得返回不同的整數。

部分內容摘自:https://www.cnblogs.com/skywang12345/p/3324958.html

hashcode()與equals()方法(第8周)