2010-09-26 97 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); 
}