Привет!
Написал такой класс. Все элементарно.
public class CustomBox {
private int x;
private int z;
public CustomBox(int x, int z){
this.x = x;
this.z = z;
}
public int getX(){return x;}
public int getZ(){return z;}
@Override
public boolean equals(Object obj)
{
if(this.x == ((CustomBox)obj).getX() && this.x == ((CustomBox)obj).getZ())
{
return true;
}
if (obj == null || obj.getClass() != this.getClass())
{
return false;
}
return false;
}
@Override
public int hashCode() {
final int prime = 31;
return prime + prime * this.x + prime * prime * this.z;
}
}
Но почему-то в коллекцию HashSet все равно попадают объекты с одинаковыми значениями полей. Что делать?