public class LinkedList {
Object contents;
LinkedList next = null;
public boolean equals(Object item) {
return (this == item) || ((item instanceof LinkedList) && this.equals((LinkedList)item));
}
public boolean equals(LinkedList item) {
return myUtil.equals(this.contents, item.contents) && myUtil.equals(this.next, item.next);
}
}
public class myUtil{
public static boolean equals(Object x, Object y) {
return (x == y) || (x != null && x.equals(y));
}
}
main(){
LinkedList myList = new LinkedList();
myList.next = new LinkedList();
LinkedList head = myList.next;
myList.next = head;
}
我想我已經在這裏創建了一個循環鏈表。所以我所做的是覆蓋等於方法,以確保循環引用處理:比較循環鏈表等於方法
由於某種原因LinkedList.equals似乎不會返回...是因爲我的循環鏈表,或者我缺少一些條件?
它沒有返回或導致堆棧溢出(異常)?另外 - 你在哪裏調用它(等於())?請顯示您使用的確切代碼 – amit