im做一个Snake游戏,不希望我的樱桃在蛇体内产卵,但是当我想使用equals判断它是否在蛇体内时,它不能导致它们不兼容。是使它们兼容的任何方式还是我必须以另一种方式使其enter image description here
public boolean collisionCheck1 (Point cherry){
if (snakeParts.equals(cherry)){
return true;
}
else
return false;
}
这是检查部分snakeParts是arraylist,而Cherry是要点
ArrayList
是来自java.util package
的类,它是java.util.Collection
接口的子类。如果您未指定通用类型,则用于保存任何类型的对象的列表(以了解您可以假定为对象的数组,但它们实际上并不相同)。
在您的情况下,snakeParts
是一个ArrayList<Point>
对象,其中包含Point类型对象的列表(不仅仅是一个Point对象)。
但是这里是snakeParts.equals(cherry)
,您正在尝试将ArrayList
类型的对象与Point
类型的对象进行比较。
我无法理解您实际上想做什么,但是如果要比较,您必须做这样的事情。
snakeParts.get(i).equals(Point class object)
其中i
是ArrayList
的索引。
要检查snakeParts ArrayList
是否包含cherry
对象,可以使用contains(your object)
接口的java.util.List
方法,如下所示:>
snakeParts.contains(cherry)
[如果snakeParts ArrayList
包含cherry
点对象,则返回true,否则返回false。