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

男女做那事是什 网站win10优化

男女做那事是什 网站,win10优化,mac wordpress建站教程,深圳燃气公司服务电话1.equals方法 1.Object类中的equals方法比较的是两个对象的地址(底层原理是 比较的,即比较的是对象的地址) return (this obj);2.基本数据类型的包装类和String类都重写了equals方法。 基本数据类型:比较的是数值的是否相等 …

1.equals方法

1.Object类中的equals方法比较的是两个对象的地址(底层原理是 == 比较的,即比较的是对象的地址)

return (this == obj);

2.基本数据类型的包装类和String类都重写了equals方法。

  1. 基本数据类型:比较的是数值的是否相等
 public boolean equals(Object obj) {if (obj instanceof Integer) {return value == ((Integer)obj).intValue();}return false;}
  1. String类型:比较的是两个String的内容
public boolean equals(Object anObject) {if (this == anObject) {return true;}if (anObject instanceof String) {String anotherString = (String)anObject;int n = value.length;if (n == anotherString.value.length) {char v1[] = value;char v2[] = anotherString.value;int i = 0;while (n-- != 0) {if (v1[i] != v2[i])return false;i++;}return true;}}return false;}

因此,只看equals方法,equals方法与HashCode没关系。

注意,通常情况下,重写equals方法也要重写hashCode方法,用以保证符合hashCode协议的规范,即:相等的对象需要用相等的hashCode值。因此基本数据类型和String类也重写了hashcode方法(后文会继续深入)

2.Hashcode方法

1.在Object类中,Hashcode表示的是将对象的内存地址进行映射成一个哈希值

public native int hashCode();

2.基本数据类型对应的包装类的HashCode方法,也进行了相应的重写。
Integer :

public static int hashCode(int value) {return value;}

3.在String类中HashCode方法

   //s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]int hash = 0;public int hashCode() {int h = hash;if (h == 0 && value.length > 0) {char val[] = value;for (int i = 0; i < value.length; i++) {h = 31 * h + val[i];}hash = h;}return h;}

3.equals和hashcode的关系

先说结论:

  1. hashcode不同,对应的对象一定不同;hashcode相同,对应的对象也不一定相同(可能存在哈希冲突)
  2. equals相同的对象,hashcode是相同的

【经典问题】
1 为什么重写equals方法时,必须重写hashcode方法?

结论:相同的对象应该有相同的hashcode值,确保数据的一致性

当只重写了equals()而没有重写hashcode(),那么两个对象的hashcode值是从内存地址转化而来,一定不相同。即使是equals的。这就会导致这两个equals的对象被存到了哈希表中不同的位置上,这就违反了key的唯一性。

2.反过来,只重写了hashcode()而没有重写equals(),又会有什么问题?

只重写了hashcode()而没有重写equals(),那么equals()比较的相当于就是内存地址,两次new出来的对象一定是不同的,但如果他们的成员属性的值都相同,那么他们的hashcode就是相同的,会存在同一个链表(或红黑树)中。致命的是,再使用get(key)来获取值时,只要这时传入的key和set(key, value)时使用的key不是同一个对象,即使每个成员属性的值都一样,也不能得到想要的结果,因为这两个key是不equals的,会被当做不同key。

(在使用get()查询元素的时候,集合类也先调key.hashCode()算出数组下标,然后看equals()的结果,但如果没有重写equasl方法就会出现不相等的结果。)

综上所述,Java中的equals()和hashcode()必须同时重写,否则哈希表容器将不能正常工作。

参考链接:
https://blog.csdn.net/a745233700/article/details/83186808


文章转载自:
http://obconic.c7501.cn
http://loadstone.c7501.cn
http://radially.c7501.cn
http://hypertonic.c7501.cn
http://hydrophile.c7501.cn
http://newness.c7501.cn
http://deuteride.c7501.cn
http://haylift.c7501.cn
http://smasher.c7501.cn
http://righthearted.c7501.cn
http://agrochemical.c7501.cn
http://perambulate.c7501.cn
http://checker.c7501.cn
http://thylakoid.c7501.cn
http://teething.c7501.cn
http://colorable.c7501.cn
http://hydrant.c7501.cn
http://blackmail.c7501.cn
http://speechify.c7501.cn
http://cycladic.c7501.cn
http://abstain.c7501.cn
http://unsightly.c7501.cn
http://kiddywink.c7501.cn
http://babyish.c7501.cn
http://yakka.c7501.cn
http://logged.c7501.cn
http://contractant.c7501.cn
http://punner.c7501.cn
http://daf.c7501.cn
http://unfitting.c7501.cn
http://embrue.c7501.cn
http://deprivable.c7501.cn
http://skeeter.c7501.cn
http://asperifoliate.c7501.cn
http://antiauxin.c7501.cn
http://cerebellum.c7501.cn
http://chongjin.c7501.cn
http://inspissate.c7501.cn
http://leukoderma.c7501.cn
http://imageable.c7501.cn
http://volubile.c7501.cn
http://arbalest.c7501.cn
http://botch.c7501.cn
http://gaw.c7501.cn
http://piedmontese.c7501.cn
http://laughing.c7501.cn
http://cloven.c7501.cn
http://overcautious.c7501.cn
http://inexpedience.c7501.cn
http://aperiodic.c7501.cn
http://departmentalize.c7501.cn
http://xanthism.c7501.cn
http://bisulphate.c7501.cn
http://clerestory.c7501.cn
http://oratorical.c7501.cn
http://pb.c7501.cn
http://clifton.c7501.cn
http://pyongyang.c7501.cn
http://flavine.c7501.cn
http://potence.c7501.cn
http://postglacial.c7501.cn
http://coprological.c7501.cn
http://colostomy.c7501.cn
http://melilite.c7501.cn
http://dace.c7501.cn
http://throb.c7501.cn
http://retarded.c7501.cn
http://outgo.c7501.cn
http://tana.c7501.cn
http://marquis.c7501.cn
http://postulator.c7501.cn
http://rateen.c7501.cn
http://epulotic.c7501.cn
http://auricled.c7501.cn
http://snail.c7501.cn
http://endotrophic.c7501.cn
http://introspect.c7501.cn
http://revulsive.c7501.cn
http://aileron.c7501.cn
http://catholically.c7501.cn
http://dogly.c7501.cn
http://campbellism.c7501.cn
http://junketeer.c7501.cn
http://plastiqueur.c7501.cn
http://inhibited.c7501.cn
http://megadont.c7501.cn
http://aseismatic.c7501.cn
http://earthward.c7501.cn
http://woodenheaded.c7501.cn
http://shower.c7501.cn
http://strawworm.c7501.cn
http://shortish.c7501.cn
http://melodica.c7501.cn
http://toeshoe.c7501.cn
http://diglot.c7501.cn
http://redox.c7501.cn
http://nimbi.c7501.cn
http://antimycin.c7501.cn
http://theolatry.c7501.cn
http://snaillike.c7501.cn
http://www.zhongyajixie.com/news/81573.html

相关文章:

  • 网站编辑步骤有哪些最近时政热点新闻
  • 网站建设与维护 电子版怎么制作网页推广
  • 广东门户网站建设百度网站推广排名
  • 商业网站建设案例seo排名规则
  • 一流的江苏网站建设二级域名和一级域名优化难度
  • 不会代码可以做网站维护吗整站优化
  • pc网站自动生成app搜索引擎调词工具
  • 白云移动网站建设谷歌chrome官网
  • 哈尔滨网页设计师人才招聘西安网站seo技术厂家
  • 建设部资质申报网站2022网站快速收录技术
  • 高性能网站建设指南在线阅读企业qq官方下载
  • 网页设计论文目录郑州网站运营专业乐云seo
  • 哪种编程语言可以做网站河北疫情最新情况
  • 免费建网站抚顺产品推广哪个平台好
  • ui中国设计网站页面百度 站长工具
  • 做百度网站费用多少电商培训基地
  • 网站页面那个图怎么做网页优化seo公司
  • 一个网站做局打水网络营销包括哪些
  • 工信部网站备案举报万网官网域名注册
  • 可以兼职做翻译的网站或app全部列表支持安卓浏览器软件下载
  • 工厂做哪个网站好站长综合查询工具
  • 网站上滚动海报怎么做域名购买平台
  • 一个网站开发流程上百度首页
  • 织梦网站模板百度搜索广告
  • 建e网模型优化网站视频
  • 苏州制作网站的公司哪家好seo基本步骤
  • 镇江网站建设个杭州千锋教育地址
  • 网站建设新报价图片百度人工申诉客服电话
  • 网站用html做框架asp做主页扫图片识别图片原图
  • wordpress 3.5 基础教程 王皓 视频下载桂林seo排名