null instanceof Object ?
java の言語仕様では、 o instanceof C の結果は、o が null だったら必ず false になると決まっているそうです。
Java Puzzlers, puzzle 50 より。
public class Point { private int x_, y_; // ... @Override public boolean equals(Object o) { if (!(o instanceof Point)) return false; Point p = (Point) o; return x_ == p.x_ && y_ == p.y_; } }
よくこんな風に equals を Override するけれど、o が null だったらとか今まで真面目に考えてなかったけれど、instanceof したときに弾かれてるからヌルポにならないんだということを知りました。