最近出现了一个有趣的问题.我们遇到了一些hashCode()
用作MD5加密的salt源的代码,但是这引出了一个问题:将hashCode()
在不同的VM,不同的JDK版本和操作系统上为同一对象返回相同的值吗?即使它没有保证,它现在在任何时候都有变化吗?
编辑:我的意思是,String.hashCode()
而不是更一般Object.hashCode()
,当然可以被覆盖.
不.来自http://tecfa.unige.ch/guides/java/langspec-1.0/javalang.doc1.html:
hashCode的一般契约如下:
- 每当在执行Java应用程序期间多次在同一对象上调用它时,hashCode必须始终返回相同的整数.整数可以是正数,负数或零.但是,此整数不必从一个Java应用程序到另一个Java应用程序保持一致,或者从应用程序的一次执行到同一应用程序的另一次执行保持一致.[...]
归档时间: |
|
查看次数: |
560 次 |
最近记录: |