黑马程序员技术交流社区

标题: 重写equals作用是什么? [打印本页]

作者: XXXRUI    时间: 2016-5-31 22:54
标题: 重写equals作用是什么?
请大神做详细的解答,谢谢!
作者: sishuidliunian    时间: 2016-5-31 22:59
一般的,equals方法是比较引用类型的内存地址,也就是比较两个对象是否是同一个对象,但我们需要比较的是两个对象的内容是否相同,功能是不一样的,所以重写equals方法改变它具体的比较功能。
作者: likonglin110    时间: 2016-5-31 23:06
赞同楼上
作者: 骄阳登峰    时间: 2016-5-31 23:43
为了实现需要的功能,所以重写这个方法.
作者: Itheima_yuan    时间: 2016-6-1 09:21
sishuidliunian 发表于 2016-5-31 22:59
一般的,equals方法是比较引用类型的内存地址,也就是比较两个对象是否是同一个对象,但我们需要比较的是两 ...

总结得挺好的,就是这个原因
作者: SkyBlack    时间: 2016-6-1 10:28
受教受教
作者: android_vae    时间: 2016-6-1 12:56
你这问题问的·······
作者: 一个大西瓜    时间: 2016-6-1 21:11
默认equals在比较两个对象时,是看他们是否指向同一个地址的。
但有时,我们希望两个对象只要是某些属性相同就认为他们的quals为true。比如:
Student s1 = new Student(1,"name1");
Student s2 = new Student(1,"name1");
如果不重写equals的话,他们是不相同的,所以我们要重些equals,判断只要他们的id和名字相同equals就为true,在一些集合里有时也这样用,集合里的contain也是用equals来比较
作者: 学渣一枚    时间: 2016-6-1 21:29
收藏收藏收藏收藏
作者: Hyperion    时间: 2016-6-1 21:36
记录一下




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