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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Person类,成员变量是name和age
eclips自动生成的equals()方法安全性要高一些

public boolean equals(Object obj) {     //eclips自动生成的equals方法
  if (this == obj)                    //如果两个对象地址值一样
   return true;                    //说明是同一个对象,返回true
  if (obj == null)                    //如果传入的(对象的)引用值为null
   return false;                   //返回false
  if (getClass() != obj.getClass())   //如果两个对象对应的类的字节码文件不一样
   return false;                   //返回false
  Person other = (Person) obj;        //向下转型
  if (age != other.age)               //如果年龄不一样
   return false;                   //返回false
  if (name == null) {                 //如果没有给调用方法的对象的年龄赋值
   if (other.name != null)         //如果传入的对象年龄不为null
    return false;               //返回false
  } else if (!name.equals(other.name)) //如果调用方法的对象的年龄的值不为null,就比较两个对象的年龄是否一样,如果不一样
   return false;                       //返回false
  return true;                            //以上都通过,就返回true
}


3 个回复

倒序浏览
厉害了,加油
回复 使用道具 举报
正好今天也在看着一块,过来学习学习咯
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马