未修改equals比較的內容,兩個對象經過equals比較相等,其HashCode必定相等, 可是HashCode相等,不必定推出equals必定爲true(Hash衝突) HashCode不等,必定能推出equals爲false; 也就是說equals比較的對象不等,其hashcode碼也有可能不一樣,也有可能相同 ==比較是兩個對象是不是存儲在同一個內存地址中,而equals比較的是兩個對象的引用是否相同 基本類型變量不能用equals比較(a equals(b),jdk1.5以上b能夠爲基本數據類型,a不能夠) 爲不一樣對象生成不一樣的hashcode能夠提升hash表的性能,java中大部分的類都寫了hashCode()方法,通常要用到相關方法時會重寫hashcode()方法