java - 得到关于不兼容类型问题的 .equals(),我如何制作我的 ArrayList并点兼容并将答案转换为布尔值
问题描述
我正在制作一个蛇游戏,不希望我的樱桃在蛇体内产生,但是当我想使用 equals 来确定它是否在里面时,它不能导致它们不兼容。有什么方法可以使它们兼容还是我必须以另一种方式使它在此处输入图像描述
public boolean collisionCheck1 (Point cherry){
if (snakeParts.equals(cherry)){
return true;
}
else
return false;
}
这是检查部分,snakeParts 是数组列表,而樱桃是重点
解决方案
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
Point 对象,则返回 true,否则返回 false。
推荐阅读
- r - 在不改变字体大小或导致图像模糊的情况下更改 RMarkdown 中的图形高度和宽度?
- python - 正则表达式、熊猫和标记行
- python - 数据框根据行哈希值删除行
- python - 尽管确认已安装 Python 脚本,但未找到 Github Workflow 安装的模块
- python - 客户端未在 Python Socket 中接收服务器的数据
- angular - 为不同的环境使用多个不同的字符串
- django - 在 django no such table 中重新分级操作错误
- python - 如果有人加入特定的语音频道,则在特定的“日志频道”中通知
- python - 正确版本的密码学和 paramiko 可以一起运行?
- angular - ChartJS - 更改图例以切换按钮