问题引出
当学到HashMap的时候注意到了这么一个特点,但是当我具体实现这个自定义对象的时候,怎么计算HashCode又蒙了,也没人教啊
没办法,自学了↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Java自身是怎么计算的?
自己不会没法,我想到了Object的hashCode,翻进去看看
它调用了个本地的方法,这里我就不去翻CPP代码了
又想到Java为许多常用的数据类型重写了hashCode()方法,比如String,Integer,Double等。比如在Integer类中哈希值就是其int类型的数据。
那么我就看看Integer和String的
Integer是返回当前值
String是返回 当前hash*31+当前值 循环
那么我们重写h