A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王国华 中级黑马   /  2012-3-4 10:48  /  2446 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

compareTo   equals   ==

有什么区别  分别在什么时候用

概念不是很清楚 有时候会用错

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
compareTo   equals   ==:
首先,equals()方法是比较两个对象是不是同一个对象,他比较的是该对象在对内存中的地址!如果你对两个对象进行比较的时候你用的是==,那么你比较的也是这两个对象指向的堆内存中的地址。和equals一样!代表同一个对象。
compareTo是比较两个对象是否相等,他们可以是两个不同的对象,他们有各自的内存空间,但是他们的成员相等。
在实际操作中,我们一般不用定义compareTo,因为你会发现,equals和compareTo有很多相似的地方。
所以,我们可以对equals进行覆盖(复写)。使其具有子类特定的功能。
回复 使用道具 举报
本帖最后由 马胜平 于 2012-3-4 11:25 编辑

compareTo 方法是Comparable接口的一个方法,该方法返回一个整数值,如果两个对象不相等,返回一个正值或一个负值相等就返回0,在比较两个整数域时非常有用,如有个学生类,类有成员成绩,我们要对该类对象按照成绩排序时候就要实现该接口对成绩就行比较。equals ==这里不说了,论坛多的是
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马