public boolean equals(HOGE o)
public boolean equals(Object o)
この両方定義したら後者が使われたんだけど
equalsのジェネリック版ってないのかな?