您的位置:首页 > 职场人生

(java面试)为什么需要重写equals方法

2018-01-21 22:34 387 查看
默认equals在比较两个对象时,是看他们是否指向同一个地址的。

但有时,希望两个对象只要是某些属性相同就认为他们的quals为true。比如:

Student s1 = new Student(1,"name"); Student s2 = new Student(1,"name");

如果不重写equals的话,他们是不相同的,因为引用s1和s2指向的堆内存地址显然不一样,所以我们要重些equals,

判断只要他们的id和名字相同equals就为true,在一些集合里有时也这样用,集合里的contain也是用equals来比较
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐