java:hashCode()的剖析

hashCode是object类的方法,其目的是返回 由对象的内存地址经过hash算法后得出的整数,也称哈希值

基本的数据类型和String等都重写了Object的此方法,目的是为了在使用HashMap等数据结构时,保证
相同对象,得到的结果必定相同,需要保证值相同时,hashcode相同,进而键值相同,则取出的值也相同
之前看到int类型如果是-128至127的话,不同类型定义相同值,返回的是同一个对象,因为jvm在启动的时候
就将范围内的整型全部初始化至cache中,以便使用

总结:若自行创建的对象类,需要用的hash相关的数据结构,需要实现hashcode来保证hash的一致性,基本数据类型的包装类,String等都默认重写了hashcode

参考文章
java hashCode方法返回值
Java Integer(-128~127)值的==和equals比较产生的思考

原文地址:https://www.cnblogs.com/lifelikeplay/p/14528112.html