最近看了一下书籍, 不太清楚理解是否有错, 想请教一下各位
Object 类别所提供的 hashCode() method, 主要是返回物件的内存位置
经过运算后的整数, 所以与内存有密切关系
所以每个物件的HashCode()理论上应该都不一样, 但是有些子类别继承后会
进行equals和HashCode的覆写,例如String、Array等, 所以就有可能造成 :
如果两个物件使用equals(Object) 测试结果为不相等,
则这两个物件呼叫 hashCode 时,可以获得不同的整数结果("可以相同,也可以不同")
所以总结是如果继承Object类的子类别, 没有对equals hashCode进行改写,
那么这些物件产生的HashCode应该都不一样, 但如果重写就有可能造成HashCode相等, 但不一定是参考相同的内存位置情况
不知道原理是否是这样