我試圖重寫頂點變量等於。目前,當調用vertexList.contains(「test」)時,頂點類中聲明的equals()不會運行。有什麼我失蹤?的Java重寫equals()的自定義類
完整的代碼可以在我的git hub,如果你認爲它是別的東西,有一個快速的測試文件UI.java一起被發現。否則我就沒有想法。
謝謝,
class Data implements Graph
{
java.util.LinkedList<vertex> vertexList = new java.util.LinkedList<vertex>();
class vertex
{
String ID;
java.util.LinkedList<String> links = new java.util.LinkedList<String>();
boolean tracker = false;
public vertex(String it)
{
ID = it;
}
@Override
public boolean equals(Object obj)
{
if (obj.equals(null))
return false;
System.err.println("OBJECT CHECK");
String str = (String) obj;
// return true; //To test if it's being accessed
return str.equals(ID);
}
public String toString()
{
return ID;
}
}
}
你忘了擴展頂點類?我不確定你想在這裏完成什麼?如果不擴展/實現父類,則不能重寫方法。 – blearn
也許,頂點需要擴展對象嗎? 經過測試,Java包含它。 – Monoxide
這已經是延伸對象 –