day18 Set集合

set.add()調用了hashcode(),equals()方法,String類型比較特殊,String類重寫了hashcode方法,而且hashcode方法比較的不是內存地址。而除了String類型的引用類型,則是調用了Object類的hashcode和equals方法,若是該引用類型重寫了hashcode和equals方法,則用重寫後的hashcode和equals方法code

Person類未重寫hashcode和equals方法,也就是說調用Object類的hashcode和equals方法內存

參看源碼:源碼

只要是new,對應的引用類型:如Person未重寫equals方法,那麼必定返回falsehash

相關文章
相關標籤/搜索