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
}
|
|