座標クラスと座標のリストがあります。座標クラスの equals メソッドをオーバーライドしましたが、座標のリストで contains を使用すると、リストにある座標に対して false になります。誰かが私がどこで間違っているのか考えていますか? x と y の値は int です。
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]]