黑马程序员技术交流社区

标题: 集合去除重复元素 [打印本页]

作者: qincai    时间: 2014-6-10 19:31
标题: 集合去除重复元素
本帖最后由 qincai 于 2014-6-13 22:39 编辑

ArrayList传自定义student类对象时需要重写equals方法,传字符串时为何不需要重写equals方法?

作者: axuan    时间: 2014-6-10 19:41
student和字符串都为对象,首先字符串本身就有equals方法,student没有
比较两个对象是否相等(其实是要比较里面的内容是否相等)
JVM在堆中分配了两块内存存储这两个对象
如果单纯的使用equals比较结果肯定为false
其实equals比较的也是内存地址

作者: tanshion    时间: 2014-6-10 19:59
因为api中String类的equals方法已经重载过了,你查看一下源代码就会发现了。而你的student类是你自己创建的,所以需要你自己重载equals方法,如果没有重载,默认是的equals方法是比较类的hashcode值。
作者: liujie445012100    时间: 2014-6-10 21:53
String的已经重写equals方法了




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