Object.hashCode()
在同一个对象的所有JVM实现上,required 的输出是否相同?
例如,如果"test".hashCode()
返回1
1.4,它是否可能2
在1.6上返回运行.或者如果操作系统不同,或者实例之间存在不同的处理器架构,该怎么办?
Phi*_*hil 17
不可以.hashCode
在JVM实现之间甚至在同一JVM上的程序的不同执行之间,输出可能会发生变化.
但是,在您给出的具体示例中,值的实际值"test".hashCode()
将是一致的,因为hashCode
for String
对象的实现是API的一部分String
(请参阅java.lang.String的Javadocs和其他SO帖子).
来自API
hashCode的一般契约是:
尽可能合理,Object类定义的hashCode方法确实为不同的对象返回不同的整数.(这通常通过将对象的内部地址转换为整数来实现,但JavaTM编程语言不需要此实现技术.)
归档时间: |
|
查看次数: |
7466 次 |
最近记录: |