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

深圳网站建设服wordpress到底是什么

深圳网站建设服,wordpress到底是什么,怎么设计公司logo图片,上海计算机考试网页制作文章目录1. 和 equals 的区别是什么#xff1f;2.Hashcode的作用3. 两个对象的hashCode() 相同#xff0c; 那么equals()也一定为 true吗#xff1f;4.泛型常用特点5.使用泛型的好处#xff1f;1. 和 equals 的区别是什么#xff1f; “” 对于基本类型和引用类型 的作… 文章目录1. 和 equals 的区别是什么2.Hashcode的作用3. 两个对象的hashCode() 相同 那么equals()也一定为 true吗4.泛型常用特点5.使用泛型的好处1. 和 equals 的区别是什么 “” 对于基本类型和引用类型 的作用效果是不同的如下所示 基本类型比较的是值是否相同 引用类型比较的是引用是否相同 String x string; String y string; String z new String(string); System.out.println(xy); // true System.out.println(xz); // false System.out.println(x.equals(y)); // true System.out.println(x.equals(z)); // true因为 x 和 y 指向的是同一个引用所以 也是 true而 new String()方法则重写开辟了内存空间所以 结果为 false而 equals 比较的一直是值所以结果都为 true。 “equals” equals 本质上就是 只不过 String 和 Integer 等重写了 equals 方法把它变成了值比较。看下面的代码就明白了 首先来看默认情况下 equals 比较一个有相同值的对象代码如下 class Cat { public Cat(String name) { this.name name; } private String name; public String getName() { return name; } public void setName(String name) { this.name name; } } Cat c1 new Cat(小黑子); Cat c2 new Cat(小黑子); System.out.println(c1.equals(c2)); // false输出结果出乎我们的意料竟然是 false这是怎么回事看了 equals 源码就知道了源码如下 public boolean equals(Object obj) { return (this obj); }原来 equals 本质上就是 。 那问题来了两个相同值的 String 对象为什么返回的是 true代码如下 String s1 new String(叶子); String s2 new String(叶子); System.out.println(s1.equals(s2)); // true同样的当我们进入 String 的 equals 方法找到了答案代码如下 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; }原来是 String 重写了 Object 的 equals 方法把引用比较改成了值比较。 总结 对于基本类型来说是值比较对于引用类型来说是比较的是引用而 equals 默认情况下是引用比 较只是很多类重新了 equals 方法比如 String**、**Integer 等把它变成了值比较所以一般情况下 equals 比较的是值是否相等。 2.Hashcode的作用 java的集合有两类一类是List还有一类是Set。前者有序可重复后者无序不重复。当我们在set中插入的时候怎么判断是否已经存在该元素呢可以通过equals方法。但是如果元素太多用这样的方法就会比较慢。 于是有人发明了哈希算法来提高集合中查找元素的效率。 这种方式将集合分成若干个存储区域每个对象可以计算出一个哈希码可以将哈希码分组每组分别对应某个存储区域根据一个对象的哈希码就可以确定该对象应该存储的哪个区域 hashCode方法可以这样理解它返回的就是根据对象的内存地址换算出的一个值。这样一来当集合要添加新的元素时先调用这个元素的hashCode方法就一下子能定位到它应该放置的物理位置上。如果这个位置上没有元素它就可以直接存储在这个位置上不用再进行任何比较了如果这个位置上已经有元素了就调用它equal方法与新元素进行比较相同的话就不存了不相同就散列其它的地址。这样一来实际调用equals方法的次数就大大降低了几乎只需要一两次。 3. 两个对象的hashCode() 相同 那么equals()也一定为 true吗 不对两个对象的 hashCode() 相同equals() 不一定 true。 代码示例 String str1 keep; String str2 brother; System. out. println(String. format(str1%d | str2%d, str1. hashCode(),str2. hashCode())); System. out. println(str1. equals(str2));执行结果: str11179395 | str21179395 false代码解读很显然“keep”和“brother”的 hashCode() 相同然而 equals() 则为 false因为在散列表中hashCode() 相等即两个键值对的哈希值相等然而哈希值相等并不一定能得出键值对相等。 4.泛型常用特点 泛型是Java SE 1.5之后的特性 《Java 核心技术》中对泛型的定义是 “泛型” 意味着编写的代码可以被不同类型的对象所重用。 “泛型”顾名思义“泛指的类型”。我们提供了泛指的概念但具体执行的时候却可以有具体的规则来约束比如我们用的非常多的ArrayList就是个泛型类ArrayList作为集合可以存放各种元素如Integer,String自定义的各种类型等但在我们使用的时候通过具体的规则来约束如我们可以约束集合中只存放Integer类型的元素如 ListInteger iniData new ArrayList()5.使用泛型的好处 以集合来举例使用泛型的好处是我们不必因为添加元素类型的不同而定义不同类型的集合如整型集合类浮点型集合类字符串集合类我们可以定义一个集合来存放整型、浮点型字符串型数据而这并不是最重要的因为我们只要把底层存储设置了Object即可添加的数据全部都可向上转型为Object。 更重要的是我们可以通过规则按照自己的想法控制存储的数据类型。 附上一篇博客介绍泛型
http://www.hkea.cn/news/14454204/

相关文章:

  • 网站要学什么旅游英文网站 建设需求
  • 一个网站做多少页面数量合适信息化建设办公室网站
  • 商城网站开发解决方案网站在网站网站在哪里找到的
  • 本单位门户网站是什么意思旅游网站建设多少钱
  • 太原做响应式网站设计临沂兰山网站建设
  • 做游戏网站多少钱寻找哈尔滨网站建设
  • 在哪个网站上做推广作用好电子商务网站调研
  • 电子商务网站开发项目设计报告二级网站收录
  • 网站哪家公司做的好广告设计和平面设计有什么区别
  • 昆明工程建设信息网站企业网站模板网页模板
  • 网站建设和软件开发哪个有前途服务好的企业网站怎么建设
  • 网站联系我们 怎么做地图网站怎么做电脑系统下载文件
  • 罗庄建设局网站建设银行人力资源网站
  • 项目建设表态发言稿北京建站优化
  • 医院网站建设公司游戏推广一个月能拿多少钱
  • 大庆企业做网站校本教研网站建设
  • 网站测速工具如何在网站后台备份数据库表
  • 烟台网站排名优化网站如何盈利
  • WordPress数据库大windows优化大师官方网站
  • 企业铭做网站注册名字商标查询
  • 网站开发做原型吗漂亮全屏网站
  • 莆田外贸专业建站创建网站需要什么平台
  • 手机网站建设行业现状丰都网站建设费用
  • 微信上的网站怎么做360doc 网站怎么做
  • 规划网站站点需要遵循哪些原则做阿里还是网站
  • wix建站是免费的吗泰安华航网络有限公司
  • 网站建设要哪些人乐山网站建设流程
  • 网站默认数据库地址网站建设方案书是啥
  • 广州网站建设报价表外贸模版网站
  • 想象力做网站网站开发浏览器