java equals方法

[复制链接]
查看11 | 回复3 | 2012-7-10 20:22:06 | 显示全部楼层 |阅读模式
第一项 比较的是两对象在内存中的地址,如果两对象的地址是一样的当然就是相同了第二项 如果otherobjec为null ,this不为空,那么二者肯定不同第三项 看二者是否由同一个类生成,若果不是的话也肯定不行同,但是这个还有个bug第四项 就是对象的比较不同于基本类型,及时两个对象都是一个类生成,不如Student类生成的stu1和stu2,里面的属性值不一定相同。这时候就要判断对象里面的属性值,当这些都相同了,也就是相等了;比如:同一个大学同一个学院同一个年级同一个班的姓名、性别、家庭住址相同的两个学生其实就是同一个人。...
回复

使用道具 举报

千问 | 2012-7-10 20:22:06 | 显示全部楼层
equals比较的就是字串的值而不是==号所比较的物理地址。这么多的判别是冲突检测,比如说参数是否为空等等。...
回复

使用道具 举报

千问 | 2012-7-10 20:22:06 | 显示全部楼层
导致出错的原因有很多,你总要一一检测吧 是参数导致的出错还是其他原因导致的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行