hashcode()方法的起源于object,具体计算只有对象的地址,如果特定对象不重写该方法,对象值相同(即地址相同)时hashcode()得到的值一定相同,如果重写了该方法(通常特定类会重写该方法),hashcode()的计算内容会由对象地址改为计算和对象成员变量相关(比如改写后hasdcode()方法返回的哈西值为变量1*变量二+2,此处仅做举例说明,只是为了让你明白重写后的函数返回值和特定类关系密切)
你的问题中的对象值相同我的理解是地址相同,如果hashcode没有被重写,则哈西值一定相同,如果被重写,则由于引用变量地址值相同,一定指向了同一个对象,同一个对象中的变量相同,所以由此计算出的哈西值也应该是相等的
|