我说的半夜, 并不是真正的半夜, 指的是在我一个人的时候, 我会去思考一些奇怪的问题.

要理解 hashCode() 需要理解下面三个点:

  • hash契约
  • 哈希冲突
  • 哈希可变

第一点: hash 契约指的是两个相等的对象, 必须具有相同的哈希码 [ 逆命题不成立 ]

第二点: 哈希冲突指的是两个不同的对象具有相同的 hash 值

第三点: 哈希可变指的是 hashCode 并不保证在不同的应用中执行中得到相同的结果

以上三点来自于这篇博客 [ 关于 hashCode() 你需要了解的 3 件事 ]

下面写一个例子, 展示如果不重写 hashCode() 方法会导致的问题,

 

 

 

 

未完待续.

相关文章:

  • 2021-12-15
  • 2022-12-23
  • 2021-10-18
  • 2021-08-31
  • 2021-10-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-19
  • 2022-12-23
  • 2021-08-15
  • 2021-06-25
  • 2021-12-25
  • 2021-09-16
  • 2021-06-19
相关资源
相似解决方案