2013-10-16 26 views
0

該方法應該從給定索引處的鏈接列表返回類型爲「type」的節點。獲取鏈接列表不工作的方法...不兼容的類型

public type get(int index) throws Exception 
    { 
    int currPos = 0; 
    Node<type> curr = null; 

    if(start!= null && index >=0) 
    { 
     curr = start; 
     while(currPos != index && curr != null) 
     { 
      curr = curr.getNext(); 
      currPos++; 
     } 
    } 

    return curr; 

爲什麼它讓我在編譯時的「不兼容類型」的錯誤?

+1

什麼是「開始」?它在哪裏定義? –

+0

@CristianMeneses - 我假設'start'是一個引用列表中第一個節點的字段。 –

回答

2

您已聲明該方法返回一個type對象,但您試圖返回curr,該對象聲明爲Node<type>。推測類Node有一個getValue()方法(或類似的東西)來檢索存儲在節點中的對象type。你應該改變最後一行:

return curr.getValue(); 

更妙的是,因爲有可能currnull在這一點上:

return curr == null ? null : curr.getValue(); 
+0

謝謝你,工作。 –

+0

@MateiZera - 很高興工作。在重新讀取你的代碼時,我發現當達到'return'語句時'curr'可以'null'。最好將最後一行改爲:'return curr == null? null:curr.getValue();'。 –