网站大量收购独家精品文档,联系QQ:2885784924

对象及数据结构.pdf

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学计算机学院 金旭亮 主要内容  对象比较  对象组合  对象复制 2013/10/22 金旭亮Java系列课程(2013版) 2 对象的比较:Comparable接口 public interface Comparable { int compareTo(Object other) } 1. X和Y相等,返回0 2. X小于Y ,返回-1 3. X大于Y ,返回1 2013/10/22 金旭亮Java系列课程(2013版) 4 泛型化的Comparable接口 public inteface ComparableT { int compareTo(T other); } • 编程实例:EmployeeSortTest.java • 此实例将按照工资高低排序输出Employee 对象。 2013/10/22 金旭亮Java系列课程(2013版) 5 JDK中的实例  凡是支持大小比较的类型(比如Integer ), 都实现了Comparable接口。 public final class Integer extends Number implements ComparableInteger { …… private final int value; public int compareTo(Integer anotherInteger) { return compare(this.value, anotherInteger.value); } public static int compare(int x, int y) { return (x y) ? -1 : ((x == y) ? 0 : 1); } …… } JDK中Integer类的源码 2013/10/22 金旭亮Java系列课程(2013版) 6 区分==与Equals  “==”施加于对象类型,是比较两个对象变量是 否引用同一对象。如果需要比对对象的“内容(即 各字段的值)”,通常是调用对象的equals方法。  equals方法由Object类所定义,其默认实现如下: public boolean equals(Object obj) { return (this == obj); }  子类需要覆盖这一方法。  Demo: IsTwoObjectEquals.java 2013/10/22 金旭亮Java系列课程(2013版) 7 何时重写equals()?  JDK的许多集合类型,比如ArrayList , 在查找元素时,会调用元素的equals() 方法以确定当前元素是不是要找的那个。 public int indexOf(Object o) { if (o == null) { for (int i = 0; i size; i++) if (elementData[i]==null) return i; ArrayList.indexOf() } else { 方法的源码

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档