0

我在写代码,使用codepro工具进行审计,在写equals方法的时候,遇到这种审计缺少身份检查,不知道怎么改正

我的方法代码:

@Override
public boolean equals(Object o) {
    boolean result = false;
    if(o instanceof Coordinate){
        if(((Coordinate) o).x == x &&
                ((Coordinate) o).y == y){
            result = true;
        }
    }
    return result;
}

审计的描述是这样的:

描述:缺少身份检查

说明:equals 方法应该比较接收者和参数的身份,如果它们相同,则返回 true。

建议: 1. 添加对象身份测试。

我不知道测试对象身份是什么意思,我应该使用单元测试还是什么?谢谢有人帮助我。

4

1 回答 1

3

它只是意味着您应该检查两个对象是否相同

  this == o;
于 2013-01-21T14:07:38.933 回答