The Eclipse Java compiler issues an inappropriate warning in the following code:
public int zot(Object obj) {
if (obj instanceof String) return 1;
if (obj == null) return 2; // inappropriate warning on this line
return 3;
}
It complains that obj cannot possibly be null -- even though it can. Experimentation suggests that something about the instanceof operator confuses the compiler.