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

问题描述 投票:-2回答:1

im做一个Snake游戏,不希望我的樱桃在蛇体内产卵,但是当我想使用equals判断它是否在蛇体内时,它不能导致它们不兼容。是使它们兼容的任何方式还是我必须以另一种方式使其enter image description here

public boolean collisionCheck1 (Point cherry){


     if (snakeParts.equals(cherry)){
     return true;

     }
     else 
         return false;
 }

这是检查部分snakeParts是arraylist,而Cherry是要点

java arraylist point
1个回答
0
投票

ArrayList是来自java.util package的类,它是java.util.Collection接口的子类。如果您未指定通用类型,则用于保存任何类型的对象的列表(以了解您可以假定为对象的数组,但它们实际上并不相同)。

在您的情况下,snakeParts是一个ArrayList<Point>对象,其中包含Point类型对象的列表(不仅仅是一个Point对象)。

但是这里是snakeParts.equals(cherry),您正在尝试将ArrayList类型的对象与Point类型的对象进行比较。

我无法理解您实际上想做什么,但是如果要比较,您必须做这样的事情。

snakeParts.get(i).equals(Point class object)

其中iArrayList的索引。

要检查snakeParts ArrayList是否包含cherry对象,可以使用contains(your object)接口的java.util.List方法,如下所示:>

snakeParts.contains(cherry)

[如果snakeParts ArrayList包含cherry点对象,则返回true,否则返回false。

© www.soinside.com 2019 - 2024. All rights reserved.