晓看天色暮看云
  • near_me
    首  页
  • view_week
    分  类
    keyboard_arrow_down
    layers
    页  面
    keyboard_arrow_down
  • description 文  章
    35
  • textsms 评  论
    0
  • vincent
    java中equals方法和hashCode方法

    access_time
    brush 187个字
    whatshot 33 ℃

    Object若不重写hashCode的话,hashCode如何被计算出来的

    如果不重写,是用底层实现的,返回的是当前对象的内存地址,Object的hashCode方法是本地方法,是用C语言或C++实现的,该方法直接返回对象的内存地址。

    如果一个类不重写它的equals方法,那么它的equals方法是如何比较的?

    比较的是地址,相当于==。

    Java中为什么重写Equals方法要重写HashCode方法

    是为了提高效率,采用重写hashCode方法,先进行hashcode比较,如果不同,那么就没必要再进行equals的比较,这样可以减少equals比较的次数,当对较数量很大的时候效率提高会比较明显,比如在集合中使用。

    #如无特别声明,该文章均为 vincent 原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。
    #最后编辑时间为: 2023 年 02 月 02 日





    关于 DreamCat

    主题名称:DreamCat | 版本:2.8.221001(LTS)

    主题开发:HanFengA7 | TeddyNight | Dev-Leo | CornWorld | WhiteBearcn | DFFZMXJ

    Designed by HanFengA7 Power by Typecho

    Copyright © 2015-2025 by LychApe All rights reserved!

    加我的QQ
    加我的微博
    加我的支付宝
    加我的微信