我有一个坐标类和一个坐标列表。我已经覆盖了坐标类的 equals 方法,但是当我在坐标列表中使用 contains 时,对于列表中的坐标,我得到 false。有没有人知道我哪里出错了?x 和 y 值是整数。
public boolean equals(Coordinate c){
return (this.x == c.getxCoordinate() && this.y == c.getyCoordinate());
}
清单如下:
List safe_locs = new ArrayList<Coordinate>();
测试如下:
System.out.println(c);
System.out.println(safe_locs.contains(c));
System.out.println(safe_locs);
输出是:
Coordinate[x: 0, y: 0]
false
[Coordinate[x: 0, y: 0], Coordinate[x: 1, y: 0], Coordinate[x: 0, y: 1], Coordinate[x: 3, y: 0], Coordinate[x: 0, y: 3]]