我在写代码和使用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.添加object标识测试。
我不知道对象标识的测试是什么意思,我应该使用单元测试还是什么?感谢所有帮助我的人。
发布于 2013-01-21 22:07:39
这仅仅意味着您应该检查这两个对象是否相同
this == o;https://stackoverflow.com/questions/14440324
复制相似问题