每一个对象一般都有k-v。
key可以计算出hashcode,value是这个对象。
对象根据hashcode存储在不同的存储空间中,
同一个hashcode的存储空间里面可能放多个对象。
equals比较的是这个对象是否相同,
hashcode()返回的是int,是这个对象的存储地址。
如果重写了equals(Object obj),那么一定要重写hashcode();
equals(Object obj)返回true,hashcode()返回的int一定相同;
equals(Object obj)返回false,hashcode()返回的int不一定不同;
hashcode()返回的int相同,equals(Object obj)不一定返回true;
hashcode()返回的int不同,equals(Object obj)一定返回false;
本文探讨了对象存储原理,详细解释了哈希码(hashcode)的作用及其与equals方法的关系。阐述了重写equals方法时为何同时需要重写hashcode方法,并列举了两者之间的关键区别。
855

被折叠的 条评论
为什么被折叠?



