在这里面可以看出,在没有重写hashcode()方法之前 i 的值与 i1 的值不相等。因为在没有重写hashcode()方法之前是按照变量在内存中的地址就算的哈希码值。 当重写了hashCode()方法,在方法中调用了hash()方法,传入了name和age参数,结果的哈希码值是根据name和age属性值计算出来的所以 i 和 i1 的值相等。