== 判断的是两个对象是否具有相同引用
要想判断两个对象是否相等,不能通过比较两个对象的引用是否相等,这是永远都得不到相等的结果的,因为两个对象的引用永远不会相等,所以正确的比较方法是直接比较这两个对象,比较这两个对象的实质是不是一样的,即这两个对象里面的内容是不是相同的,通过比较这两个对象的属性值是否相同而决定这两个对象是否相等,即可通过重写equals方法来实现这个功能。
public class Equalss {
public String name;
public int age;
public boolean equals(Object otherObject) {
//都为null,判断为相等
if(this==otherObject)
return true;
if(otherObject==null)
return false;
if(getClass()!=otherObject.getClass())
return false;
Equalss other = (Equalss)otherObject;
return name.equals(other.name)&&age==other.age;
}
}