对Object的引用就是这样.对对象的引用.
Object的hashcode是该hashCode()方法的结果,该方法取决于实现可能是各种各样的事情.默认值hashCode():
通常通过将对象的内部地址转换为整数来实现,但JavaTM编程语言不需要此实现技术
它们完全是两个不同的概念.
Cat oldCat = new Cat();
Cat newCat = new Cat();
Cat oldCatRef = oldCat;
Run Code Online (Sandbox Code Playgroud)
在上述例子中,oldCat并oldCatRef是同一个对象的引用.由于它们引用相同的对象,因此它们的哈希码将是相同的.
但是oldCat并newCat没有提到同一个对象.它们是对两个不同对象的引用.但是hashCode根据它们的实现,它们可能具有相同的功能.hashCode只是一个Object可以覆盖的类中的方法.
编辑(来自PeterJ):根据JavaSE6对象规范,如果oldCat.equals(newCat)那么两者的哈希码应该相等.遵守合同是很好的编程方式
您可能还想检查此问题的答案:
| 归档时间: |
|
| 查看次数: |
7251 次 |
| 最近记录: |