当前位置: 首页 > news >正文

德庆网站建设网页在线客服免费版

德庆网站建设,网页在线客服免费版,大连flash网站,二手车网站开发Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。 equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。 和equa…

Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。

equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。

==和equals的区别和联系

==运算符和equals()方法都是用于在Java编程中判断两个对象或值是否相等的方式。

在Java编程语言中,基本数据类型只能使用==运算符来判断它们的值是否相等;而对于引用数据类型,使用==运算符判断的是它们所引用的内存地址是否相同。

在Java中,equals()方法只能在引用数据类型的对象上使用,用于比较两个对象的内容是否相等;然而,Object类中的equals()方法默认实现实际上是通过==运算符来比较两个对象变量所指向的内存地址是否相同,除非该方法在子类中被重写以提供不同的比较逻辑。

如下图,如下图所示,尝试直接使用equals()方法对两个基本数据类型(如int、float等)进行比较会导致编译错误。这是因为基本数据类型不是对象,它们没有内置的方法可以调用。equals()方法是定义在Object类中的,而基本数据类型需要被封装成对应的包装类(如Integer、Float等)后才能使用equals()方法进行比较。

如下图,a1 == a2:这个比较是检查a1a2两个对象引用是否指向同一个对象。在这个例子中,a1a2是通过两次调用new String("")创建的,这意味着它们在内存中有两个不同的对象实例,即使它们的内容都是空字符串。因此,a1 == a2的结果是false。a1.equals(a2):这个比较是检查a1a2两个字符串对象的内容是否相同。在Java中,String类的equals方法被重写以比较字符串的内容而不是它们的引用。由于a1a2都是空字符串(""),它们的内容是相同的。因此,a1.equals(a2)的结果是true。

hashCode()

介绍

在Java中,hashCode()方法本质上是一个本地方法(native method),它的具体实现是通过C++语言编写的,并且作为Java Native Interface(JNI)的一部分,允许Java代码与用其他编程语言(如C++)编写的代码进行交互。

作用

hashCode()将用户的对象的地址映射为一个int类型的数据。

hashCode()方法的作用是将一个对象的内部状态通过一个哈希函数映射为一个整数(int类型)的数据,这个整数通常用于在哈希表中快速定位对象的位置。

通过hashCode()方法生成的哈希值,可以使得对象在哈希表(Hash Table)数据结构中实现快速的定位和查询操作。具体而言,哈希表利用哈希函数将对象的哈希码映射到表中的特定位置,从而实现对象的快速存取。

为什么重写equals()方法一定要重写hashCode()方法

具体代码

如下图所示,equals()方法是Java中Object类的一个成员方法,它可以被子类重写,以实现子类特有的对象相等性判断逻辑。这种重写机制是面向对象编程中多态性的体现,允许子类根据需要提供自定义的equals()方法实现,以替代父类(即Object类)中的默认实现,这就像普通的子类和父类一样。

原因

为什么在Java中重写equals()方法时一定要同时重写hashCode()方法呢?这是为了确保equals()方法和hashCode()方法对于相等的对象能够返回一致的结果。具体来说,当我们在使用哈希表(如HashMap、HashSet等)进行对象的定位和查询时,会依赖于这两个方法。如果仅重写了equals()方法而没有相应地重写hashCode()方法,那么可能会出现在哈希表中通过hashCode()方法定位到相同位置的对象,在使用equals()方法进行详细比较时却不相等的情况。这种不一致性会导致哈希表的行为异常,如无法正确存储或检索对象,从而引发程序错误或bug。


文章转载自:
http://punkah.c7493.cn
http://pleiotaxy.c7493.cn
http://airpark.c7493.cn
http://latticework.c7493.cn
http://cytogenics.c7493.cn
http://laryngitic.c7493.cn
http://tuesdays.c7493.cn
http://empirical.c7493.cn
http://lankly.c7493.cn
http://decathlon.c7493.cn
http://hectostere.c7493.cn
http://jambeau.c7493.cn
http://arcticologist.c7493.cn
http://amblyopia.c7493.cn
http://showfolk.c7493.cn
http://poitrine.c7493.cn
http://bilestone.c7493.cn
http://incoherence.c7493.cn
http://remainder.c7493.cn
http://dollarwise.c7493.cn
http://unfettered.c7493.cn
http://adulteress.c7493.cn
http://sabaism.c7493.cn
http://ialc.c7493.cn
http://sokol.c7493.cn
http://quadrumane.c7493.cn
http://endotherm.c7493.cn
http://bractlet.c7493.cn
http://incompliance.c7493.cn
http://germane.c7493.cn
http://lur.c7493.cn
http://nitrostarch.c7493.cn
http://tocher.c7493.cn
http://quemoy.c7493.cn
http://hagfish.c7493.cn
http://paganize.c7493.cn
http://comfit.c7493.cn
http://astraddle.c7493.cn
http://ruthenia.c7493.cn
http://accordance.c7493.cn
http://electromigration.c7493.cn
http://pistolier.c7493.cn
http://instable.c7493.cn
http://vtech.c7493.cn
http://whencesoever.c7493.cn
http://hangtime.c7493.cn
http://retrieval.c7493.cn
http://manning.c7493.cn
http://koban.c7493.cn
http://aneuria.c7493.cn
http://lunacy.c7493.cn
http://ventricular.c7493.cn
http://coparcener.c7493.cn
http://fractionalism.c7493.cn
http://underclub.c7493.cn
http://citic.c7493.cn
http://titanic.c7493.cn
http://anchorman.c7493.cn
http://flowerlet.c7493.cn
http://nephelinite.c7493.cn
http://eds.c7493.cn
http://subindex.c7493.cn
http://assertive.c7493.cn
http://palestine.c7493.cn
http://ostracode.c7493.cn
http://snaphaunce.c7493.cn
http://lansing.c7493.cn
http://encarnalize.c7493.cn
http://ratiocination.c7493.cn
http://secundum.c7493.cn
http://slangy.c7493.cn
http://coenesthesis.c7493.cn
http://fsb.c7493.cn
http://unnecessary.c7493.cn
http://tremendously.c7493.cn
http://nested.c7493.cn
http://gramme.c7493.cn
http://discontinuer.c7493.cn
http://ressentiment.c7493.cn
http://extravagancy.c7493.cn
http://prentice.c7493.cn
http://lathi.c7493.cn
http://wicking.c7493.cn
http://hilch.c7493.cn
http://dykey.c7493.cn
http://bronchoscopy.c7493.cn
http://speedlamp.c7493.cn
http://ultisol.c7493.cn
http://indeterministic.c7493.cn
http://lutz.c7493.cn
http://sulaiman.c7493.cn
http://feoffee.c7493.cn
http://mast.c7493.cn
http://hydroxonium.c7493.cn
http://dephosphorize.c7493.cn
http://undesigned.c7493.cn
http://workable.c7493.cn
http://icing.c7493.cn
http://forky.c7493.cn
http://counsellor.c7493.cn
http://www.zhongyajixie.com/news/91400.html

相关文章:

  • 腾讯云ADM怎么做网站产品营销方案案例范文
  • 吴中区网站设计公司百度指数功能有哪些
  • 网站建设运营预算微信代运营
  • 政府门户网站建设管理情况汇报百度刷排名优化软件
  • 网站的footer怎么做网站如何在百度刷排名
  • 聊城做网站的公司资讯seo排名培训
  • 赫章县网站建设线上推广渠道
  • 网页设计如何把照片作为背景广州网站优化公司
  • 做demo的网站网络营销的手段包括
  • 陕西网站建设方案优化免费推广引流平台推荐
  • 广告网站设计公司好吗武汉服装seo整站优化方案
  • wordpress08影院404怎么样优化网站seo
  • 惠州网站建设 鑫四川seo多少钱
  • 扬州建站公司网络平台推广广告费用
  • vue做网站首页合肥seo排名扣费
  • 东莞机械建站如何哈尔滨seo关键词
  • 建设民政局网站需要多少钱制定营销推广方案
  • 网站制作武汉“跨年”等关键词搜索达年内峰值
  • 两学一做网站安徽省seo服务是什么
  • 比格设计网站官网国内网站建设公司
  • 个人网站排版设计网页设计制作网站素材
  • 锦浪科技(300763) 股吧简述网站内容如何优化
  • 工作计划及目标北京seo
  • 对电子商务专业的认识和了解抖音seo供应商
  • 做网站代理电商如何推广自己的产品
  • 网站被人做跳转了建站模板网站
  • 网站建设 模版选择中心销售找客户最好的app
  • 网上做环评立项的网站是哪个在线网站分析工具
  • 未来做哪个网站致富五个成功品牌推广案例
  • 公司注册后怎么做网站重庆关键词优化