equals(Object o) メソッドは、o の型についてどんな仮定もするべきではありません。 othis と同じ型でないなら単に false を返すべきです。