得到 .equals() on incompatible types 问题,我如何使我的 ArrayList <Point> 和点兼容并将答案转换为布尔值
got the .equals() on incompatible types problem, how do i make my ArrayList <Point> and point compatible and the answer into an boolean
我正在制作贪吃蛇游戏,不想让我的樱桃在蛇体内生成,但是当我想使用 equals 来确定它是否在蛇体内时,它不能导致它们不兼容。有没有办法让它们兼容,或者我必须用另一种方式来兼容enter image description here
public boolean collisionCheck1 (Point cherry){
if (snakeParts.equals(cherry)){
return true;
}
else
return false;
}
这是检查部分 snakeParts 是数组列表,cherry 是重点
ArrayList
是 java.util package
的 class,它是 java.util.Collection
接口的子 class。如果您没有指定通用类型,它用于保存任何类型的对象的列表(理解您可以假设为一个对象数组,但它们实际上并不相同)。
在您的例子中,snakeParts
是一个 ArrayList<Point>
对象,它包含一系列 Point 类型对象(不仅仅是一个 Point 对象)。
但是在这里,snakeParts.equals(cherry)
您正在尝试将 ArrayList
类型对象与 Point
类型对象进行比较。
我无法理解你到底想做什么,但如果你想比较你必须做这样的事情。
snakeParts.get(i).equals(Point class object)
其中 i
是 ArrayList
的索引。
要检查 snakeParts ArrayList
是否包含 cherry
对象,你可以使用 java.util.List
接口的 contains(your object)
方法,像这样
snakeParts.contains(cherry)
如果 snakeParts ArrayList
包含 cherry
点对象,则 returns 为真,否则 returns 为假。
我正在制作贪吃蛇游戏,不想让我的樱桃在蛇体内生成,但是当我想使用 equals 来确定它是否在蛇体内时,它不能导致它们不兼容。有没有办法让它们兼容,或者我必须用另一种方式来兼容enter image description here
public boolean collisionCheck1 (Point cherry){
if (snakeParts.equals(cherry)){
return true;
}
else
return false;
}
这是检查部分 snakeParts 是数组列表,cherry 是重点
ArrayList
是 java.util package
的 class,它是 java.util.Collection
接口的子 class。如果您没有指定通用类型,它用于保存任何类型的对象的列表(理解您可以假设为一个对象数组,但它们实际上并不相同)。
在您的例子中,snakeParts
是一个 ArrayList<Point>
对象,它包含一系列 Point 类型对象(不仅仅是一个 Point 对象)。
但是在这里,snakeParts.equals(cherry)
您正在尝试将 ArrayList
类型对象与 Point
类型对象进行比较。
我无法理解你到底想做什么,但如果你想比较你必须做这样的事情。
snakeParts.get(i).equals(Point class object)
其中 i
是 ArrayList
的索引。
要检查 snakeParts ArrayList
是否包含 cherry
对象,你可以使用 java.util.List
接口的 contains(your object)
方法,像这样
snakeParts.contains(cherry)
如果 snakeParts ArrayList
包含 cherry
点对象,则 returns 为真,否则 returns 为假。