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

成都精品网站建设seo站长综合查询工具

成都精品网站建设,seo站长综合查询工具,广州专业做网站排名哪家好,请人做网站当一个类有可能会和其他类发生比较的时候#xff0c;我们会重写equals方法#xff0c;但大多数情况下#xff0c;都忽略了重写hashCode方法。 这里说一下重写hashCode的必要性。 当我们使用HashSet或者HashMap的时候#xff0c;在比对value|key是否存在时#xff0c;会调用…当一个类有可能会和其他类发生比较的时候我们会重写equals方法但大多数情况下都忽略了重写hashCode方法。 这里说一下重写hashCode的必要性。 当我们使用HashSet或者HashMap的时候在比对value|key是否存在时会调用hashCode方法。 注意hashSet的contains方法其实是依赖于HashMap的containsKey方法的。 我们来看下containsKey方法的实现 public boolean containsKey(java.lang.Object paramObject){return (getEntry(paramObject) ! null);}final EntryK, V getEntry(java.lang.Object paramObject){int i (paramObject null) ? 0 : hash(paramObject.hashCode());Entry localEntry this.table[indexFor(i, this.table.length)];for (; localEntry ! null; localEntry localEntry.next){if (localEntry.hash i) { java.lang.Object localObject;if (((localObject localEntry.key) paramObject) || ((paramObject ! null) (paramObject.equals(localObject)))){return localEntry; } }}return null;}   由上面代码即可知hashCode是重要的判断依据没有重写hashCodeequals表现相等的两个类它们的hashCode并不相等。 所以会导致containsKey方法返回false测试代码如下 包含HashCode的类 package hashset.and.hashcode;public class ClassWithHashCode {public int i;public boolean equals(Object o) {if (o this)return true;if (o instanceof ClassWithHashCode) {ClassWithHashCode code (ClassWithHashCode) o;return code.i i;}return false;}public int hashCode() {return i * 17 37;} } 没有重写hasCode的类 package hashset.and.hashcode;public class ClassWithoutHashCode {public int i;public boolean equals(Object o) {if (o this)return true;if (o instanceof ClassWithoutHashCode) {ClassWithoutHashCode code (ClassWithoutHashCode) o;return code.i i;}return false;} }   测试类 package hashset.and.hashcode;import java.util.HashSet;public class Test {/*** param args*/public static void main(String[] args) {ClassWithHashCode c1 new ClassWithHashCode();ClassWithHashCode c2 new ClassWithHashCode();c1.i 0;c2.i 0;HashSetClassWithHashCode set new HashSetClassWithHashCode();set.add(c1);System.out.println(set.contains(c2));ClassWithoutHashCode co1 new ClassWithoutHashCode();ClassWithoutHashCode co2 new ClassWithoutHashCode();co1.i 0;co2.i 0;HashSetClassWithoutHashCode set1 new HashSetClassWithoutHashCode();set1.add(co1);System.out.println(set.contains(co2));} }     执行的结果为 truefalse   符合预期。证毕。转载于:https://www.cnblogs.com/anrainie/archive/2012/04/27/2473196.html
http://www.huolong8.cn/news/352398/

相关文章:

  • 上上海网站设计建设网站建设需要审批吗
  • 免费做网站的网站朝阳网络公司怎么样
  • 六安网站制作费用想学管理方面的培训班
  • 制作营销网站优化防疫政策
  • 杭州做购物网站wordpress 获取相册图片
  • 做平面设计在那个网站上找图好网站做系统叫什么名字
  • 网站编辑wordpress文章版权声明
  • 宁波网站制作报价四川省住房与城乡建设厅网站官网
  • wordpress能做cms魔方优化大师官网
  • 鲜花网站建设策划书甘肃省引洮工程建设管理局官方网站
  • 中学加强校园网站内容建设免费中文网站模板下载
  • 桐城市美丽乡村建设专题网站网站交易平台怎么注册
  • 网站转移空间临淄网站建设公司
  • 官方网站怎么做辽宁工程信息招标网
  • 大连零基础网站建设培训电话erp管理软件开发公司
  • 无法进行网站备案网站优化页面
  • 教人做衣服的网站网站建设专家收费标准
  • 上海手机响应式网站建设设计域名备案需要什么
  • 河池市都安县建设局网站做一个信息发布网站要多少钱
  • vps 内存影响 网站福州 网站定制设计
  • 广州市手机网站建设品牌关键词排名点击工具
  • 做网站模板出售类网站怎么样昌平网站设计
  • 运动器材网站建设淘宝网卖家中心入口
  • 响应式网站设计开发北京vi设计公司 四方之志
  • 横沥做网站的电话网站挣钱网
  • 网站开发推荐资料东莞网站快速排名提升
  • 手机怎样创建网站湖南公司注册网上核名
  • 单页网站快速收录房地产开发建设工程口碑好
  • 一对一直播网站开发江西建设职业技术学院网站
  • 电子商务网站建设的评估工具c 如何做公司网站