我可以看到该文档最早可以追溯到Java 1.2。
的确,总的来说,您不应该依赖散列码实现,而是将其记录为的行为
java.lang.String,因此,对其进行更改将视为违反现有合同。
只要有可能,你不应该依赖于哈希码跨版本等保持相同-但在我的脑海里
java.lang.String完全是因为算法的特殊情况已经指定了......只要你愿意放弃与以前版本的兼容性当然指定了算法。

我可以看到该文档最早可以追溯到Java 1.2。
的确,总的来说,您不应该依赖散列码实现,而是将其记录为的行为
java.lang.String,因此,对其进行更改将视为违反现有合同。
只要有可能,你不应该依赖于哈希码跨版本等保持相同-但在我的脑海里
java.lang.String完全是因为算法的特殊情况已经指定了......只要你愿意放弃与以前版本的兼容性当然指定了算法。