==用於判斷兩邊的變量的值是否相等,若是是基本數據類型,就是判斷他們的值是否是相等;若是==兩邊是對象的引用,那麼指的是這兩個引用是否指向同一個對象,及引用的值是否相等。markdown
equals()是Object裏的方法。在Object的equals中,就是使用==來進行比較,比較的是引用。與==不一樣的是,在某些Object的子類中,覆蓋了equals()方法,好比String中的equals()方法比較兩個字符串對象的內容是否相同。對象
hashCode()方法也是繼承自Object,它用來獲取一個對象的hash值,返回int值。Object.hashCode規定,equals()相等的對象,它們的HashCode()返回值也必須相等,不然沒法與集合類結合在一塊兒使用。(List, Set, Hashmap..)繼承