robthe1337th
Grünschnabel
Hi,
folgendes Problem. Ich habe eine Map:
Meine Klasse "Coordinate" sieht wie folgt aus:
Ich habe in meiner Map nun ein Coordinate-Objekt mit x=1, y=3 (seh ich im Debugger) und dieses will ich dann mit folgendem Code holen:
Ich kriege jedoch immer "null" als Rückgabe-Wert. Ich hab keine Ahnung warum.
Mein Test für Coordinate funktioniert:
Kann mir jemand helfen?
folgendes Problem. Ich habe eine Map:
Code:
Map<Coordinate, List<Integer>> map = s.findPossibleSolvePoint();
Meine Klasse "Coordinate" sieht wie folgt aus:
Code:
public class Coordinate
{
private int x;
private int y;
public Coordinate(final int x, final int y)
{
this.x = x;
this.y = y;
}
public int getX()
{
return x;
}
public int getY()
{
return y;
}
@Override
public boolean equals(Object o)
{
boolean result = false;
if (o instanceof Coordinate)
{
Coordinate c = (Coordinate) o;
final int x = c.getX();
final int y = c.getY();
if (x == this.x && y == this.y)
{
result = true;
}
}
return result;
}
@Override
public String toString()
{
return "x=" + this.x + " y=" + this.y;
}
@Override
public int hashCode()
{
int result = 17;
result = result * 31 + x;
result = result * 31 + y;
return result;
}
}
Ich habe in meiner Map nun ein Coordinate-Objekt mit x=1, y=3 (seh ich im Debugger) und dieses will ich dann mit folgendem Code holen:
Code:
Coordinate c = new Coordinate(1, 3);
List<Integer> list13 = map.get(c);
Ich kriege jedoch immer "null" als Rückgabe-Wert. Ich hab keine Ahnung warum.
Mein Test für Coordinate funktioniert:
Code:
@Test
public void simple() throws Exception
{
Coordinate c = new Coordinate(5, 4);
Coordinate c1 = new Coordinate(5, 4);
assertEquals(5, c.getX());
assertEquals(4, c.getY());
assertEquals(c, c1);
assertEquals(c.hashCode(), c1.hashCode());
}
Kann mir jemand helfen?