A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马小成 中级黑马   /  2015-4-26 23:02  /  506 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*@Override
  2.         public boolean equals(Object obj) {//equals原本比较的是对象的地址值,如果是同个对象就返回true,否则返回false,由于比较的类型是不同个对象,但是内容
  3.                 //相同,则为视为同个对象,原本的equals不符合需求所以必须重写。
  4.                 //提高效率
  5.                 if(this == obj){//如果是同个对象,直接返回true,如果不是同个对象有
  6.                         return true;//两可能,是同个类或者不是同个类,
  7.                 }
  8.                 //提高健壮性
  9.                 if (!(obj instanceof Student)) {//如果obj不属于这个类,就直接返回False,属于这个类就运行下个语句比较对象里面的内容
  10.                         return false;
  11.                 }
  12.                 //向下转型
  13.                 Student s = (Student) obj;//因为传进来的是Obj类型,所以必须向下转型。
  14.                 return this.name.equals(s.name) && this.age == s.age;//比较具体内容,s.name是对象用equals比较,值用==比较
  15.         }
  16. */
复制代码

评分

参与人数 3技术分 +1 黑马币 +35 收起 理由
小甲鱼 + 20 很给力!
牵猪散步 + 15 很给力!
lwj123 + 1

查看全部评分

1 个回复

倒序浏览
重写equals就是想怎么写就怎么写。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马