黑马程序员技术交流社区
标题:
重写person类
[打印本页]
作者:
路途遥远
时间:
2015-6-15 21:18
标题:
重写person类
如何重写 equals (); 为啥要重写啊???
作者:
少年闰土
时间:
2015-6-15 21:23
因为Object类中equals方法的功能不能满足日常使用,所以有需要要重写成自己需要的功能,这个在集合中比较有用
作者:
rose_xiaomei
时间:
2015-6-16 00:06
你这个问题应该是学习视频中Collection中的那部分,之所以要重写equals方法,是因为它默认提供的方法是判断对象是否相同,你想要的是name,age都不同才能判断两人是否是同一个人,每次new一个新对象这里程序自己判断的是每次new每次对象都不同,这时候就要自己重写方法,加入判断条件才能达到自己想要的目的。
作者:
yujinpinh
时间:
2015-6-16 09:46
默认equals在比较两个对象时,是看他们是否指向同一个地址的。但有时,我们希望两个对象只要是某些属性相同就认为他们的quals为true。比如:Person p1 = new Person(1,"name1");Person p2 = new Perso(1,"name1");如果不重写equals的话,他们是不相同的,所以我们要重些equals,判断只要他们的id和名字相同equals就为true,在一些集合里有时也这样用,集合里的contain也是用equals来比较
作者:
Foundmoon
时间:
2015-6-16 09:50
因为equals方法在底层经常被类似contains方法调用,或者在集合中,会被底层调用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2