为何重写equals()的同时还得重写hashCode()

  这个问题以前我也很好奇,不过最后仍是在书上获得了比较明朗的解释,固然这个问题主要是针对映射相关的操做(Map接口)。学过数据结构的同窗都知道Map接口的类会使用到键对象的哈希码,当咱们调用put方法或者get方法对Map容器进行操做时,都是根据键对象的哈希码来计算存储位置的,所以若是咱们对哈希码的获取没有相关保证,就可能会得不到预期的结果。在java中,咱们可使用hashCode()来获取对象
相关文章
相关标签/搜索