在比较两个对象时可以使用==和equals()。==用于比较两个对象的引用地址是否相等,而equals()方法主要用于比较两个对象的内容是否相等。 在object中已定义了equals()方法,但是该方法直接采用==操作符实现,因此子类不重写该方法,那么子类对象在比较时将使用object中定义的equals(),其结果与==操作符的比较结果是一样的。
object 类中的 equals() 方法
public boolean equals(object obj) {return (this == obj); }
2. 自定义 euqals() 方法public boolean equals(object obj) {if (this == obj) return true;if(obj != null && obj.getclass() == person.class) {// 此处,使用 obj.getclass() == person.class 来确定类型相同时,才进行判等person p = (person) obj;// 接下来是内容判断// ...} }
以上就是重写 equals方法的详细内容。
