我正在编写代码并使用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。添加对象标识测试。
我不知道对象身份的测试意味着什么,我应该使用单元测试吗?谢谢有人帮助我。
答案 0 :(得分:3)
它只是意味着你应该检查这两个对象是否相同
this == o;