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

门户网站优化怎么做桂林市网站建设

门户网站优化怎么做,桂林市网站建设,创建app需要什么条件,网站展现形式关于这个问题#xff0c;看了网上很多答案#xff0c;感觉都参差不齐#xff0c;没有答到要点#xff0c;这次就记录一下#xff01; 首先我们为什么要重写equals#xff1f;这个方法是用来干嘛的#xff1f; public boolean equals #xff08;Object object#x…关于这个问题看了网上很多答案感觉都参差不齐没有答到要点这次就记录一下 首先我们为什么要重写equals这个方法是用来干嘛的 public boolean equals Object object{return (this obj); } 上面是在Object类里面的定义可以看到它的作用仅仅是用来确认两个对象地址是否一样 那实际当中我们肯定不满足于这个方式啊我们一般是想知道两个对象里面的数据是否对的上 最直接的例子就是String这里官方给我们重写了equals方法从而使得我们在进行比较不同的string的时候比较的不是它们的地址而是字面值具体源码大家可以自己去看。 我这里也定义了一个类然后演示一下重定义equals前后的结果 public class People {private String name;public People(String name){this.namename;}public void setName(String name) {this.name name;}public String getName() {return name;}public String toString(){return Peopelname:name;}}public class a {public static void main(String[] args) {People hjnew People(wx);People nnnew People(wx);System.out.println(hj.equals(nn));} }这是测试主类输出是false两个对象地址不一样当时输出false因为这个时候我们没有重写equals方法 但是实际当中我们当然期望是true因为这里两个对象里面属性是完全一样。 那么我们重写一下看看最后的结果 public boolean equals(Object obj) {if (this obj)return true;if (obj null)return false;if (getClass() ! obj.getClass())return false;People other (People) obj;if (name ! other.name)return false;if (name null) {if (other.name ! null)return false;} else if (!name.equals(other.name))return false;return true;} 上面是重写的方法具体的话大家自己看逻辑也很清楚 这次我们实现了输出true开心 --------------------------------------------------------------------------------------------------------------------------------至此我们搞懂了重写equals的目的 下面正式进入主题hashcode 首先定义一下hashcode它是一个函数将对象映射成一个整数 那么大家会说这个函数是什么 (165条消息) Java 的 HashCode 底层生成分析_董酷酷的博客-CSDN博客_hashcode底层 具体大家可以看这个链接给大家总结一下哈这个函数一般是伪随机数生成函数和对象地址是无关的除非你指定编译器参数 那么我们为啥要重写这个函数呢 让含有相同参数的对象 映射成相同的hashcode这句话很关键我下面的阐述都是基于此展开的 有人有会问为什么要映射成相同的hashcode呢那我举个最简单的例子吧 我现在有个hashmap对象为kv就是1 当你第一次 push一个对象参数是a后 第二次 push一个对象参数也是a 正常来说我们希望后面的put操作会覆盖前面的 但如果你不重写hashcode就不会实现覆盖map里会包含两个对象 这是因为hashmap put的原理是首先判断对象的hashcode如果不等直接判断为不同的key如果相等则执行equals方法来看是否相同 下面是代码 public class a {public static void main(String[] args) {HashMapPeople,Integer mapnew HashMap();People cxknew People(wx);map.put(cxk,1);People yyqxnew People(wx);map.put(yyqx,1);map.forEach((k,v)-{System.out.println(k);});} }这是测试类最后结果是 那我们重写hashcode后 ok实际上重写hashcode主要保证的是一致性相同参数的对象映射到相同的hash值从而保证我们在集合里面能够正确的实现。
http://www.w-s-a.com/news/947318/

相关文章:

  • 一个网站如何做cdn加速器如何上传网站数据库
  • 汝州住房和城乡建设局新网站营销网站定位
  • yy直播官网seo引擎优化是什
  • 做影视网站违法莫品牌营销是什么
  • 全网最稳最低价自助下单网站wordpress电影网站主题
  • 域名更换网站温州建设工程网站
  • 网站如何优化推广连锁店管理网站开发
  • 伊宁市做网站功能性质网站
  • 北京哪个网站制作公司优化大师免费安装下载
  • 同江佳木斯网站设计做网站联系电话
  • 设计上海展会2023seo网站模板下载
  • 开发一个卖东西的网站多少站长工具永久
  • 公司网站怎么突然多了好多友情链接如何删除宁波有几个区
  • 临沂seo网站推广wordpress新编辑器
  • c2c网站设计店面logo设计制作
  • 网站建设任务执行书重庆今天新闻事件
  • 怎样发布自己的网站南宁制作网站公司
  • wordpress装多站点百度查一下
  • 怎么优化一个网站搭建网站免费空间
  • 山东建设和城乡建设厅注册中心网站首页wordpress安装教材
  • 个人风采网站制作毕节网站开发公司电话
  • 网络网站销售设计主题和设计理念
  • 做网站一般用什么服务器承德专业做网站
  • 松北区建设局网站网站建设分为几种
  • 网站建设的合同 体会智联招聘网站建设情况
  • 记的网站域名wordpress地方信息主题
  • 淄博好的建网站公司网站建设 海口
  • 有人做网站花了10几万2017做啥网站能致富
  • 做网站有什么软件cod建站平台
  • 合肥学校网站建设怎么做免费的产品图片网站