У меня возникла проблема с переопределением метода equals в одном классе, этот класс имеет только один атрибут, который представляет собой двумерный массив, называемый сеткой. Это конструктор:Метод Equals всегда возвращает true JAVA
public World(int n, int m){
this.grid = new Object[n][m];
}
Равных метод:
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (null == obj)
return false;
if (!obj instanceof World)
return false;
World other = (World) obj;
if (!Arrays.deepEquals(grid, other.grid))
return false;
return true;
}
Я уже переопределен метод hashCode()
как хорошо, но проблема в том, что не имеет значения, в случае, равно всегда возвращается правда. Кто-нибудь знает, что не так?
на самом деле он всегда возвращается ложный –
http://sscce.org/ –
Вы уверены, что объекты в сетке равны? –