您的位置:首页 > 编程语言 > Java开发

java equals方法的覆盖

2013-05-07 12:46 309 查看
Public boolean equals(Object obj);

Object中的这个方法比较的是地址,因此我们应当在自己的类中按自己的要求覆盖这个方法;

步骤:

测试形参是否为null;

测试类型是否匹配;

将obj强转为自己的类所属的类型。

最后,比较所有字段。使用==比较基本数据类型,使用equals方法比较对象

如果所有字段均匹配返回true,否则返回false。

class PointTest {
private int x;
private int y;
public PointTest() {}
public PointTest(int x, int y) {
this.x = x;
this.y = y;
}
public boolean equals(Object obj) {
if((obj instanceof PointTest) && obj!=null) {
PointTest pt = (PointTest)obj;
if((pt.x==this.x) && (pt.y==this.y)) {
return true;
}
}
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: