黑马程序员技术交流社区

标题: eclips自动生成的equals()方法的详细注释 [打印本页]

作者: yeluoxingye    时间: 2017-2-28 23:19
标题: eclips自动生成的equals()方法的详细注释
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
}



作者: 黄公子    时间: 2017-2-28 23:44
厉害了,加油
作者: 笑对明天    时间: 2017-3-1 00:54
正好今天也在看着一块,过来学习学习咯
作者: lvshen9    时间: 2017-3-1 08:30
学习了





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