Many people don't like to use instanceof, but I find that in many cases we have few other options when it comes to the equals method. Take a look at the class below:
class A {
int n;
public A(int n) { this.n = n; }
@Override
public boolean equals(Object o) {
return false;
}
public boolean equals(A o) {
return n == o.n;
}
}
I've never seen something like this done, but could it serve as a replacement for having to use instanceof to test if an Object is an A? Or are there other problems that I'm not thinking of?