I have simple class Point with two fields of type double
. I asked Eclipse 3.6 to generate equals()
and hashCode()
for it. The equals()
method looks like this:
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Point other = (Point) obj;
if (!getOuterType().equals(other.getOuterType()))
return false;
if (Double.doubleToLongBits(x) != Double.doubleToLongBits(other.x))
return false;
if (Double.doubleToLongBits(y) != Double.doubleToLongBits(other.y))
return false;
return true;
}
And the getOuterType
looks like this:
private Point getOuterType() {
return Point.this;
}
So the question is: what's the purpose of getOuterType().equals(other.getOuterType())
line?