equals() generated by Eclipse: getOuterType()?

Viewed 2499

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?

1 Answers
Related