2010-09-26 96 views
1

好了,所以我試圖讓這個班級工作:Java的ArrayList的幫助

public boolean hasPoint(Point p){ 

    for (int i=0; i<this.points.size(); i++){ 
     // Right here 
     if(points[i].equals(p)){ 
      return true; 
     } 

    } 
    return false;  
} 

然而在第3行我似乎被調用點作爲一個數組,但它實際上是一個ArrayList。我究竟做錯了什麼?

+0

請從編輯後不要,我已經修復了你的代碼格式。作爲參考,下次只需突出顯示您的代碼並單擊代碼按鈕(帶有零和一的代碼);或用4個空格縮進。 – NullUserException 2010-09-26 21:52:22

+0

@NullUserException,我從來沒有介紹過它,只有編輯過的東西是代碼更改。 – 2010-09-26 21:54:53

+0

@我看到的安東尼。您正在研究此文章的以前版本。我的錯。 – NullUserException 2010-09-26 21:56:13

回答

5

要訪問ArrayList的元素,使用.get()

public boolean hasPoint(Point p){ 

    for (int i=0; i<this.points.size(); i++){ 
     if (points.get(i).equals(p)){ 
      return true; 
     } 
    } 

    return false;  
} 

但如果pointsArrayList,你可以只使用ArrayList.contains()達到同樣的效果:

public boolean hasPoint(Point p) { 
    return points.contains(p); 
}