黑马程序员技术交流社区

标题: 关于equals的用法一些疑问 [打印本页]

作者: 冷月霜飞    时间: 2015-5-16 20:13
标题: 关于equals的用法一些疑问
一直对于equals的用法不太理解,equals好像可以比较对象的大小,但是对象怎么可以比较大小呢?equals判断这两个对象大小的标准是什么?另外,除了比较对象的大小外,equals好像还可以比较变量,比较字符串等等的大小,这些都让我有点发懵,各位师兄有谁能帮忙详细介绍一下equals的用法啊?还有equals一般都什么时候用啊?不胜感激!
作者: 谷歌    时间: 2015-5-16 23:00
一般的对象,equals比较的是两个对象的地址值。如果这两个对象的地址值是相同的,证明是同一个对象。而在有些类中,会根据特定的需要覆盖equals方法。比如String类中,equals方法就被覆盖。用来比较两个字符串的内容是否相同。equals的不同功能是因为他被覆盖所造成的。
作者: 虎鹏    时间: 2015-5-16 23:30
equals被重写后有新的功能
作者: 南方小道士    时间: 2015-5-17 00:00
复写此方法
作者: 理当如此    时间: 2015-5-17 00:07
equals从来都不能比较大小,只能比较引用类型。它是Object的方法,是用来比较地址值的,但一般子类重写了它的方法,所以就可以用来比较内容
作者: 力求无悔    时间: 2015-5-17 00:09
要用他的话就要重写,不然也没有意义啊
作者: 雪风飞花    时间: 2015-5-17 00:11
重写后比较里面的内容就能看大小
作者: 19期1910    时间: 2015-5-17 00:25
学习学习下
作者: 冷月霜飞    时间: 2015-5-17 05:47
谷歌 发表于 2015-5-16 23:00
一般的对象,equals比较的是两个对象的地址值。如果这两个对象的地址值是相同的,证明是同一个对象。而在有 ...

谢谢师兄解惑!多少明白点了:loveliness:
作者: 马玉玲    时间: 2015-5-17 07:35
!!!!
作者: 马玉玲    时间: 2015-5-17 07:37
。。。。。。
作者: guojiadui    时间: 2015-5-17 09:48
重写equals.想怎么比就怎么比
作者: shawdo    时间: 2015-5-17 10:05
Sring里的equals方法被重写后能比较两个String类型的内容是否相等。
作者: shao122791159    时间: 2015-5-17 21:50
你的说法有问题。并不是比较大小。而是比较是否相同。返回值都是boolean型的。
作者: 冷月霜飞    时间: 2015-5-18 18:37
理当如此 发表于 2015-5-17 00:07
equals从来都不能比较大小,只能比较引用类型。它是Object的方法,是用来比较地址值的,但一般子类重写了它 ...

谢谢师兄解答!
作者: liyuer    时间: 2015-5-18 19:10
equals可以看成一个镜子呢,只有当出现的是一模一样了它才返回ture,而且进行比较的类型也应该一样才能进行比较,可以想想,当一只猫和一条狗比较抓老鼠肯定是没有意义的,但是如果他两比较毛色是可以的,可以看看equals和等于号的差别!




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