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.添加對象標識測試。
我不知道什麼是測試對象身份,我應該使用單元測試還是什麼?謝謝你幫助我。
我認爲它的意思是,你應該先檢查'如果(這種== O)返回TRUE;作爲短路平等。 – Jochen
您可能有興趣閱讀此文http://stackoverflow.com/q/27581/1317692 – Fallup
是的,您是對的,我正在閱讀您提供的資料,非常感謝 – user1834274