버텍스 변수 같음을 재정의하려고합니다. 현재 vertexList.contains ("test")가 호출 될 때 정점 클래스에서 선언 된 equals()는 실행되지 않습니다. 내가 빠진 것이 있습니까?Java override 사용자 정의 클래스의 equals()
빠른 코드 테스트 파일 UI.java와 함께 전체 코드는 내 git hub에서 찾을 수 있습니다. 그렇지 않으면 나는 아이디어가 없습니다.
감사, 개체에 대해 String
의 equals()
방법을 실행합니다 vertexList.contains("test")
실행
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
이미 객체를 확장합니다 –