在不兼容类型问题上得到了.equals(),如何使ArrayList <Point>和点兼容,并将答案转换为布尔值

外星人:

我正在做一个蛇游戏,不希望我的樱桃在蛇体内产卵,但是当我想使用equals来计算它是否在蛇体内时,它不能导致它们不兼容。是使它们兼容的任何方法还是我必须以其他方式使其在此处输入图像描述

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包含cherryPoint对象,则返回true;否则返回false。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章