黑马程序员技术交流社区

标题: 关于比较的几个语句 [打印本页]

作者: 王国华    时间: 2012-3-4 10:48
标题: 关于比较的几个语句
compareTo   equals   ==

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

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


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

作者: 马胜平    时间: 2012-3-4 11:24
本帖最后由 马胜平 于 2012-3-4 11:25 编辑

compareTo 方法是Comparable接口的一个方法,该方法返回一个整数值,如果两个对象不相等,返回一个正值或一个负值相等就返回0,在比较两个整数域时非常有用,如有个学生类,类有成员成绩,我们要对该类对象按照成绩排序时候就要实现该接口对成绩就行比较。equals ==这里不说了,论坛多的是




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2