在Effective Java Item 9中(覆盖hashCode时始终覆盖equals)它所说的位置
Java平台库中的许多类(如String,Integer和Date)在其规范中包含hashCode方法返回的实际值作为实例值的函数.这通常不是一个好主意,因为它严重限制了您在将来的版本中改进哈希函数的能力.
这是什么意思 ?
这意味着您无法在代码的更高版本中重写哈希函数以获得更好的哈希属性。例如,String.hashCode()功能很快……但不是很好。但它不能再改变了,因为哈希码是指定的,并且人们在自己的代码中依赖于该实现。
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |