day18 Set集合

set.add()调用了hashcode(),equals()方法,String类型比较特殊,String类重写了hashcode方法,并且hashcode方法比较的不是内存地址。而除了String类型的引用类型,则是调用了Object类的hashcode和equals方法,如果该引用类型重写了hashcode和equals方法,则用重写后的hashcode和equals方法

Person类未重写hashcode和equals方法,也就是说调用Object类的hashcode和equals方法

参看源码:

只要是new,对应的引用类型:如Person未重写equals方法,那么一定返回false

猜你喜欢

转载自blog.csdn.net/Tybyqi/article/details/89634003