java學(xué)習(xí)隨筆3
hashCode函數(shù)
Object類的方法中有一個(gè)本地方法叫hashCode(),簡單來說hashCode就是把一個(gè)對(duì)象轉(zhuǎn)化成一串?dāng)?shù)字。
String str="11";
System.out.println(str.hashCode());
上面的一段代碼可以輸出字符串str的hashcode。
TA的特性是:不同的對(duì)象hashcode可能相同,但是hashcode不同的對(duì)象一定不相同。
簡單應(yīng)用,參考java中的set集合。
在重寫對(duì)象的equals方法之后,且重寫之后的equals較復(fù)雜,大量判斷對(duì)象是否相同的時(shí),可以不直接使用equals方法,而是先判斷兩個(gè)對(duì)象的hashcode是否相同,相同再執(zhí)行equals方法。